71 lines
2.0 KiB
Diff
Executable File
71 lines
2.0 KiB
Diff
Executable File
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index c0f7d32..8446f3c 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -59,6 +59,22 @@ target_include_directories(glui_obj
|
|
# create static *and* shared libraries without double compilation
|
|
set_target_properties( glui_obj PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
|
|
|
+if (MSVC)
|
|
+ target_compile_options(glui_obj
|
|
+ PRIVATE
|
|
+ /D_CRT_SECURE_NO_WARNINGS
|
|
+ /wd4244
|
|
+ /wd4305
|
|
+ )
|
|
+endif()
|
|
+
|
|
+if(BUILD_SHARED_LIBS)
|
|
+ if(WIN32)
|
|
+ target_compile_definitions(glui_obj
|
|
+ PRIVATE GLUI_BUILDING_LIB
|
|
+ PUBLIC GLUIDLL
|
|
+ )
|
|
+ endif()
|
|
add_library(glui SHARED $<TARGET_OBJECTS:glui_obj>)
|
|
target_include_directories(glui
|
|
PUBLIC
|
|
@@ -71,7 +87,7 @@ set_target_properties(glui PROPERTIES
|
|
DEBUG_POSTFIX "d"
|
|
VERSION ${PROJECT_VERSION}
|
|
SOVERSION ${PROJECT_VERSION})
|
|
-
|
|
+else()
|
|
add_library(glui_static STATIC $<TARGET_OBJECTS:glui_obj>)
|
|
target_include_directories(glui_static
|
|
PUBLIC
|
|
@@ -81,7 +97,9 @@ target_include_directories(glui_static
|
|
${GLUT_INCLUDE_DIR})
|
|
target_link_libraries(glui_static PUBLIC ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES})
|
|
set_target_properties(glui_static PROPERTIES DEBUG_POSTFIX "d")
|
|
+endif()
|
|
|
|
+if(GLUI_BUILD_EXAMPLES)
|
|
add_executable(ppm2array tools/ppm.cpp tools/ppm2array.cpp)
|
|
target_link_libraries(ppm2array)
|
|
|
|
@@ -97,7 +115,7 @@ add_executable(example5 example/example5.cpp)
|
|
target_link_libraries(example5 glui_static ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES})
|
|
add_executable(example6 example/example6.cpp)
|
|
target_link_libraries(example6 glui_static ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES})
|
|
-
|
|
+endif()
|
|
|
|
|
|
####
|
|
@@ -130,8 +148,13 @@ configure_package_config_file(
|
|
)
|
|
|
|
# Targets:
|
|
+if(BUILD_SHARED_LIBS)
|
|
+ set(glui_target glui)
|
|
+else()
|
|
+ set(glui_target glui_static)
|
|
+endif()
|
|
install(
|
|
- TARGETS glui_static glui
|
|
+ TARGETS ${glui_target}
|
|
EXPORT "${targets_export_name}"
|
|
LIBRARY DESTINATION "lib"
|
|
ARCHIVE DESTINATION "lib"
|