Bug 557: config.h misses INSTALL_SUBDIR_* variables on first cmake run
authorflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Sat, 30 Jan 2010 11:08:04 +0000 (11:08 +0000)
committerflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Sat, 30 Jan 2010 11:08:04 +0000 (11:08 +0000)
The first time cmake runs in a new supertux build tree, config.h is generated
before the INSTALL_SUBDIR_{BIN,SHARE} variables are set and thus contains empty
values for these variables. If the executable is built right away and run, it
crashes because it cannot find the data files.

Resolves #557. Thanks to Matt McCutchen for this patch.

git-svn-id: http://supertux.lethargik.org/svn/supertux/trunk/supertux@6293 837edb03-e0f3-0310-88ca-d4d4e8b29345

CMakeLists.txt

index e808305..522488c 100644 (file)
@@ -147,11 +147,6 @@ SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/src/addon/addon_manager.
 
 INCLUDE(ConfigureChecks)
 
-## Create config.h and version.h
-
-configure_file(config.h.cmake ${CMAKE_BINARY_DIR}/config.h )
-include_directories (${CMAKE_BINARY_DIR}/)
-
 ## Also execute instructions in src/squirrel/CMakeLists.txt
 
 ADD_SUBDIRECTORY(external/squirrel)
@@ -162,6 +157,7 @@ LINK_DIRECTORIES(external/squirrel)
 
 ## Some additional include paths
 
+include_directories (${CMAKE_BINARY_DIR}/)
 include_directories (${CMAKE_CURRENT_SOURCE_DIR}/src/)
 include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/squirrel/include/)
 include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/)
@@ -410,6 +406,10 @@ INSTALL(DIRECTORY data/images
                   data/locale
                                DESTINATION ${INSTALL_SUBDIR_SHARE} PATTERN ".svn" EXCLUDE)
 
+## Create config.h now that INSTALL_SUBDIR_* have been set.
+
+configure_file(config.h.cmake ${CMAKE_BINARY_DIR}/config.h )
+
 
 ## CPack/Installation-specific stuff