Fixed CMake UNIX config when building only "freeglut_static" or only the shared library
[freeglut] / CMakeLists.txt
index 2ac6076..a3a4fd6 100644 (file)
@@ -26,10 +26,10 @@ OPTION(FREEGLUT_BUILD_SHARED_LIBS "Build FreeGLUT shared library." ON)
 OPTION(FREEGLUT_BUILD_STATIC_LIBS "Build FreeGLUT static library." ON)
 
 # option for whether warnings and errors should be printed
-OPTION(FREEGLUT_ERRORS "Lib prints errors to stderr" ON)
-#MARK_AS_ADVANCED(FREEGLUT_ERRORS)
-OPTION(FREEGLUT_WARNINGS "Lib prints warnings to stderr" ON)
-#MARK_AS_ADVANCED(FREEGLUT_WARNINGS)
+OPTION(FREEGLUT_PRINT_ERRORS "Lib prints errors to stderr" ON)
+#MARK_AS_ADVANCED(FREEGLUT_PRINT_ERRORS)
+OPTION(FREEGLUT_PRINT_WARNINGS "Lib prints warnings to stderr" ON)
+#MARK_AS_ADVANCED(FREEGLUT_PRINT_WARNINGS)
 
 # option to also copy .pdb files to install directory when executing
 # INSTALL target
@@ -59,6 +59,7 @@ SET(FREEGLUT_SRCS
     src/fg_ext.c
     src/fg_font_data.c
     src/fg_gamemode.c
+    src/fg_geometry.c
     src/fg_gl2.c
     src/fg_gl2.h
     src/fg_init.c
@@ -74,6 +75,8 @@ SET(FREEGLUT_SRCS
     src/fg_stroke_mono_roman.c
     src/fg_stroke_roman.c
     src/fg_structure.c
+    src/fg_teapot.c
+    src/fg_teapot_data.h
     src/fg_videoresize.c
     src/fg_window.c
 )
@@ -82,13 +85,9 @@ IF(NOT FREEGLUT_GLES2 AND NOT FREEGLUT_GLES1)
     LIST(APPEND FREEGLUT_SRCS
         src/fg_font.c
         src/fg_menu.c
-        src/fg_teapot.c
-        src/fg_teapot_data.h
-        src/fg_geometry.c
     )
 ELSE()
     LIST(APPEND FREEGLUT_SRCS
-        src/fg_geometry.c
         src/gles_stubs.c
     )
 ENDIF()
@@ -350,8 +349,12 @@ ELSE()
       SET(LIBNAME glut)
     ENDIF()
 
-    SET_TARGET_PROPERTIES(freeglut PROPERTIES VERSION 3.9.0 SOVERSION 3 OUTPUT_NAME ${LIBNAME})
-    SET_TARGET_PROPERTIES(freeglut_static PROPERTIES OUTPUT_NAME ${LIBNAME})
+    IF(FREEGLUT_BUILD_SHARED_LIBS)
+      SET_TARGET_PROPERTIES(freeglut PROPERTIES VERSION 3.9.0 SOVERSION 3 OUTPUT_NAME ${LIBNAME})
+    ENDIF()
+    IF(FREEGLUT_BUILD_STATIC_LIBS)
+      SET_TARGET_PROPERTIES(freeglut_static PROPERTIES OUTPUT_NAME ${LIBNAME})
+    ENDIF()
     IF(ANDROID)
         # Not in CMake toolchain file, because the toolchain
         # file is called several times and generally doesn't