Browse Source

Merge pull request #144 from DerDakon/cmake-vars

properly check CMake variables for being set
Alberto Demichelis 7 years ago
parent
commit
d523a46862
4 changed files with 30 additions and 28 deletions
  1. 8 6
      CMakeLists.txt
  2. 8 8
      sq/CMakeLists.txt
  3. 7 7
      sqstdlib/CMakeLists.txt
  4. 7 7
      squirrel/CMakeLists.txt

+ 8 - 6
CMakeLists.txt

@@ -8,7 +8,9 @@ option(DISABLE_STATIC "Avoid building/installing static libraries.")
 option(LONG_OUTPUT_NAMES "Use longer names for binaries and libraries: squirrel3 (not sq).")
 option(LONG_OUTPUT_NAMES "Use longer names for binaries and libraries: squirrel3 (not sq).")
 
 
 set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}" CACHE PATH "")
 set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}" CACHE PATH "")
-set(CMAKE_BUILD_TYPE "Release" CACHE STRING "")
+if (NOT CMAKE_BUILD_TYPE)
+  set(CMAKE_BUILD_TYPE "Release")
+endif ()
 
 
 project(squirrel C CXX)
 project(squirrel C CXX)
 
 
@@ -43,12 +45,12 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
   add_definitions(-D_SQ64)
   add_definitions(-D_SQ64)
 endif()
 endif()
 
 
-if(NOT DEFINED SQ_DISABLE_INSTALLER)
-  if(NOT DEFINED INSTALL_BIN_DIR)
+if(NOT SQ_DISABLE_INSTALLER)
+  if(NOT INSTALL_BIN_DIR)
     set(INSTALL_BIN_DIR bin)
     set(INSTALL_BIN_DIR bin)
   endif()
   endif()
 
 
-  if(NOT DEFINED INSTALL_LIB_DIR)
+  if(NOT INSTALL_LIB_DIR)
     set(INSTALL_LIB_DIR lib)
     set(INSTALL_LIB_DIR lib)
   endif()
   endif()
 endif()
 endif()
@@ -57,11 +59,11 @@ add_subdirectory(squirrel)
 add_subdirectory(sqstdlib)
 add_subdirectory(sqstdlib)
 add_subdirectory(sq)
 add_subdirectory(sq)
 
 
-if(NOT WIN32 AND NOT DEFINED DISABLE_DYNAMIC)
+if(NOT WIN32 AND NOT DISABLE_DYNAMIC)
   set_target_properties(squirrel sqstdlib PROPERTIES SOVERSION 0 VERSION 0.0.0)
   set_target_properties(squirrel sqstdlib PROPERTIES SOVERSION 0 VERSION 0.0.0)
 endif()
 endif()
 
 
-if(DEFINED INSTALL_INC_DIR)
+if(INSTALL_INC_DIR)
   set(SQ_PUB_HEADERS include/sqconfig.h
   set(SQ_PUB_HEADERS include/sqconfig.h
                      include/sqstdaux.h
                      include/sqstdaux.h
                      include/sqstdblob.h
                      include/sqstdblob.h

+ 8 - 8
sq/CMakeLists.txt

@@ -1,34 +1,34 @@
-if(NOT DEFINED DISABLE_DYNAMIC)
+if(NOT DISABLE_DYNAMIC)
   if(CMAKE_COMPILER_IS_GNUCXX)
   if(CMAKE_COMPILER_IS_GNUCXX)
     set_source_files_properties(sq.c PROPERTIES COMPILE_FLAGS -std=c99)
     set_source_files_properties(sq.c PROPERTIES COMPILE_FLAGS -std=c99)
   endif()
   endif()
   add_executable(sq sq.c)
   add_executable(sq sq.c)
   set_target_properties(sq PROPERTIES LINKER_LANGUAGE C)
   set_target_properties(sq PROPERTIES LINKER_LANGUAGE C)
   target_link_libraries(sq squirrel sqstdlib)
   target_link_libraries(sq squirrel sqstdlib)
-  if(NOT DEFINED SQ_DISABLE_INSTALLER)
+  if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS sq RUNTIME DESTINATION ${INSTALL_BIN_DIR})
     install(TARGETS sq RUNTIME DESTINATION ${INSTALL_BIN_DIR})
   endif()
   endif()
 endif()
 endif()
 
 
-if(NOT DEFINED DISABLE_STATIC)
+if(NOT DISABLE_STATIC)
   add_executable(sq_static sq.c)
   add_executable(sq_static sq.c)
   set_target_properties(sq_static PROPERTIES LINKER_LANGUAGE C)
   set_target_properties(sq_static PROPERTIES LINKER_LANGUAGE C)
   target_link_libraries(sq_static squirrel_static sqstdlib_static)
   target_link_libraries(sq_static squirrel_static sqstdlib_static)
-  if(NOT DEFINED SQ_DISABLE_INSTALLER)
+  if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS sq_static RUNTIME DESTINATION ${INSTALL_BIN_DIR})
     install(TARGETS sq_static RUNTIME DESTINATION ${INSTALL_BIN_DIR})
   endif()
   endif()
 endif()
 endif()
 
 
-if(DEFINED LONG_OUTPUT_NAMES)
-  if(NOT DEFINED DISABLE_DYNAMIC)
+if(LONG_OUTPUT_NAMES)
+  if(NOT DISABLE_DYNAMIC)
     set_target_properties(sq PROPERTIES OUTPUT_NAME squirrel3)
     set_target_properties(sq PROPERTIES OUTPUT_NAME squirrel3)
   endif()
   endif()
 
 
-  if(NOT DEFINED DISABLE_STATIC)
+  if(NOT DISABLE_STATIC)
     set_target_properties(sq_static PROPERTIES OUTPUT_NAME squirrel3_static)
     set_target_properties(sq_static PROPERTIES OUTPUT_NAME squirrel3_static)
   endif()
   endif()
 endif()
 endif()
 
 
-if(CMAKE_COMPILER_IS_GNUCXX AND (NOT DEFINED DISABLE_STATIC))
+if(CMAKE_COMPILER_IS_GNUCXX AND NOT DISABLE_STATIC)
   set_target_properties(sq_static PROPERTIES COMPILE_FLAGS "-static -Wl,-static")
   set_target_properties(sq_static PROPERTIES COMPILE_FLAGS "-static -Wl,-static")
 endif()
 endif()

+ 7 - 7
sqstdlib/CMakeLists.txt

@@ -7,29 +7,29 @@ set(SQSTDLIB_SRC sqstdaux.cpp
                  sqstdstring.cpp
                  sqstdstring.cpp
                  sqstdsystem.cpp)
                  sqstdsystem.cpp)
 
 
-if(NOT DEFINED DISABLE_DYNAMIC)
+if(NOT DISABLE_DYNAMIC)
   add_library(sqstdlib SHARED ${SQSTDLIB_SRC})
   add_library(sqstdlib SHARED ${SQSTDLIB_SRC})
   target_link_libraries(sqstdlib squirrel)
   target_link_libraries(sqstdlib squirrel)
-  if(NOT DEFINED SQ_DISABLE_INSTALLER)
+  if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS sqstdlib RUNTIME DESTINATION ${INSTALL_BIN_DIR}
     install(TARGETS sqstdlib RUNTIME DESTINATION ${INSTALL_BIN_DIR}
                              LIBRARY DESTINATION ${INSTALL_LIB_DIR}
                              LIBRARY DESTINATION ${INSTALL_LIB_DIR}
                              ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
                              ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
   endif()
   endif()
 endif()
 endif()
 
 
-if(NOT DEFINED DISABLE_STATIC)
+if(NOT DISABLE_STATIC)
   add_library(sqstdlib_static STATIC ${SQSTDLIB_SRC})
   add_library(sqstdlib_static STATIC ${SQSTDLIB_SRC})
-  if(NOT DEFINED SQ_DISABLE_INSTALLER)
+  if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS sqstdlib_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
     install(TARGETS sqstdlib_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
   endif()
   endif()
 endif()
 endif()
 
 
-if(DEFINED LONG_OUTPUT_NAMES)
-  if(NOT DEFINED DISABLE_DYNAMIC)
+if(LONG_OUTPUT_NAMES)
+  if(NOT DISABLE_DYNAMIC)
     set_target_properties(sqstdlib PROPERTIES OUTPUT_NAME sqstdlib3)
     set_target_properties(sqstdlib PROPERTIES OUTPUT_NAME sqstdlib3)
   endif()
   endif()
 
 
-  if(NOT DEFINED DISABLE_STATIC)
+  if(NOT DISABLE_STATIC)
     set_target_properties(sqstdlib_static PROPERTIES OUTPUT_NAME sqstdlib3_static)
     set_target_properties(sqstdlib_static PROPERTIES OUTPUT_NAME sqstdlib3_static)
   endif()
   endif()
 endif()
 endif()

+ 7 - 7
squirrel/CMakeLists.txt

@@ -11,28 +11,28 @@ set(SQUIRREL_SRC sqapi.cpp
                  sqtable.cpp
                  sqtable.cpp
                  sqvm.cpp)
                  sqvm.cpp)
 
 
-if(NOT DEFINED DISABLE_DYNAMIC)
+if(NOT DISABLE_DYNAMIC)
   add_library(squirrel SHARED ${SQUIRREL_SRC})
   add_library(squirrel SHARED ${SQUIRREL_SRC})
-  if(NOT DEFINED SQ_DISABLE_INSTALLER)
+  if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS squirrel RUNTIME DESTINATION ${INSTALL_BIN_DIR}
     install(TARGETS squirrel RUNTIME DESTINATION ${INSTALL_BIN_DIR}
                          LIBRARY DESTINATION ${INSTALL_LIB_DIR}
                          LIBRARY DESTINATION ${INSTALL_LIB_DIR}
                          ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
                          ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
   endif()
   endif()
 endif()
 endif()
 
 
-if(NOT DEFINED DISABLE_STATIC)
+if(NOT DISABLE_STATIC)
   add_library(squirrel_static STATIC ${SQUIRREL_SRC})
   add_library(squirrel_static STATIC ${SQUIRREL_SRC})
-  if(NOT DEFINED SQ_DISABLE_INSTALLER)
+  if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS squirrel_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
     install(TARGETS squirrel_static ARCHIVE DESTINATION ${INSTALL_LIB_DIR})
   endif()
   endif()
 endif()
 endif()
 
 
-if(DEFINED LONG_OUTPUT_NAMES)
-  if(NOT DEFINED DISABLE_DYNAMIC)
+if(LONG_OUTPUT_NAMES)
+  if(NOT DISABLE_DYNAMIC)
     set_target_properties(squirrel PROPERTIES OUTPUT_NAME squirrel3)
     set_target_properties(squirrel PROPERTIES OUTPUT_NAME squirrel3)
   endif()
   endif()
 
 
-  if(NOT DEFINED DISABLE_STATIC)
+  if(NOT DISABLE_STATIC)
     set_target_properties(squirrel_static PROPERTIES OUTPUT_NAME squirrel3_static)
     set_target_properties(squirrel_static PROPERTIES OUTPUT_NAME squirrel3_static)
   endif()
   endif()
 endif()
 endif()