misc/liblua/CMakeLists.txt
author koda
Mon, 17 Jun 2013 17:40:01 +0200
changeset 9234 2bf3796c5855
parent 9213 e3d46d0bc7d0
child 9236 ddd675825672
permissions -rw-r--r--
This commit changes many aspect of our cmake build system - shared libraries are compiled by default: * this modifies RPATH of unix executables; * this will prevent a lot of linking issues, esp. from pascal world; * the old behaviour (static libs) is still available with -DBUILD_SHARED_LIBS=off; * of course in this case you have to provide the full list of dependencies with FPFLAGS and CMAKE_C_FLAGS; - pascal is now fully integrated with cmake, meaning you can just do add_sources and use CMAKE_Pascal_FLAGS: * some of the language features are only partially implemented, for example .inc files will not get rebuilt if you modify them; * target_link_libraries for pascal targets is just dummy as linking is determined within pascal files; * universal builds for osx are not available any more; - bundled libraries and system libraries are addressed using the target name: * this avoids depedency tracking; * this allows to name output as we wish.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7031
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 5171
diff changeset
     1
#this file is included only when system Lua library is not found
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 5171
diff changeset
     2
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3244
diff changeset
     3
file(GLOB lua_src *.c *.h)
2822
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
     4
7031
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 5171
diff changeset
     5
if(WIN32)
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 5171
diff changeset
     6
    add_definitions(-DLUA_BUILD_AS_DLL)
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 5171
diff changeset
     7
else(WIN32)
d5ea24399a48 when Lua is not found, fallback to compiling the one that comes bundled in our sources
koda
parents: 5171
diff changeset
     8
    add_definitions(-DLUA_USE_LINUX)
9205
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
     9
    add_definitions(-fvisibility=default) #TODO: fixme
2822
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    10
endif(WIN32)
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    11
9205
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    12
add_library(lua ${lua_src})
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    13
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    14
set_target_properties(lua PROPERTIES
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    15
                          VERSION "5.1.4"
9208
acb2492288e5 heavily rework lua discovery and linking, needs testing but it's more similar to what we do for other libraries now
koda
parents: 9205
diff changeset
    16
                          SOVERSION 1
9213
e3d46d0bc7d0 code typos
koda
parents: 9208
diff changeset
    17
                          OUTPUT_NAME ${lua_output_name})
9205
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    18
install(TARGETS lua RUNTIME DESTINATION ${target_binary_install_dir}
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    19
                    LIBRARY DESTINATION ${target_library_install_dir}
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    20
                    ARCHIVE DESTINATION ${target_library_install_dir})
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    21
get_target_property(lua_fullpath lua LOCATION)
abce6011f86c aaaaand let's not forget about lua, which has also a slightly revised build process
koda
parents: 8316
diff changeset
    22
9208
acb2492288e5 heavily rework lua discovery and linking, needs testing but it's more similar to what we do for other libraries now
koda
parents: 9205
diff changeset
    23
set(LUA_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Lua include dir" FORCE)
acb2492288e5 heavily rework lua discovery and linking, needs testing but it's more similar to what we do for other libraries now
koda
parents: 9205
diff changeset
    24
set(LUA_LIBRARY ${lua_fullpath} CACHE STRING "Lua library" FORCE)
2822
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    25
0533562bc3a4 Engine:
smxx
parents: 2812
diff changeset
    26