Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/buildsystem2/src/ceguilua/CMakeLists.txt @ 2626

Last change on this file since 2626 was 2626, checked in by rgrieder, 15 years ago

Added license text to all CMake files except to the subdirectoties of the libraries.
Also adjusted some the Find script documentation and wrote Descriptions for every file not in src/.

  • Property svn:eol-style set to native
File size: 2.8 KB
Line 
1 #
2 #             ORXONOX - the hottest 3D action shooter ever to exist
3 #                             > www.orxonox.net <
4 #
5 #        This program is free software; you can redistribute it and/or
6 #         modify it under the terms of the GNU General Public License
7 #        as published by the Free Software Foundation; either version 2
8 #            of the License, or (at your option) any later version.
9 #
10 #       This program is distributed in the hope that it will be useful,
11 #        but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #                 GNU General Public License for more details.
14 #
15 #   You should have received a copy of the GNU General Public License along
16 #      with this program; if not, write to the Free Software Foundation,
17 #     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18 #
19
20SET(CEGUILUA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/ceguilua-${CEGUI_VERSION}/ceguilua)
21SET(CEGUILUA_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
22
23SET(CEGUILUA_FILES
24  ${CEGUILUA_DIR}/CEGUILua.cpp
25  ${CEGUILUA_DIR}/CEGUILuaFunctor.cpp
26  ${CEGUILUA_DIR}/required.cpp
27  ${CEGUILUA_BINARY_DIR}/lua_CEGUI.cpp
28
29  ${CEGUILUA_DIR}/CEGUILua.h
30  ${CEGUILUA_DIR}/CEGUILuaFunctor.h
31  ${CEGUILUA_DIR}/required.h
32)
33
34INCLUDE(CompareVersionStrings)
35
36# Copy package files incrementally until the version is met
37SET(CEGUILUA_VERSIONS 0.5.0 0.6.0 0.6.1 0.6.2)
38FOREACH(_version ${CEGUILUA_VERSIONS})
39  COMPARE_VERSION_STRINGS(${_version} ${CEGUI_VERSION} _compare_result)
40  IF(_compare_result EQUAL 1)
41    BREAK() # _version > CEGUI_VERSION
42  ENDIF()
43  ADD_SUBDIRECTORY(ceguilua-${_version})
44ENDFOREACH(_version)
45
46# Create the tolua bind file. We could use the orignal file though, but it is 1.6MB...
47ADD_CUSTOM_COMMAND(
48  OUTPUT ${CEGUILUA_BINARY_DIR}/lua_CEGUI.cpp
49  COMMAND tolua++app_orxonox -n CEGUI
50                             -w ${CEGUILUA_BINARY_DIR}
51                             -o lua_CEGUI.cpp
52                             -L exceptions.lua
53                             -s ${TOLUA_PARSER_SOURCE}
54                                CEGUI.pkg
55  DEPENDS              ${TOLUA_PARSER_DEPENDENCIES}
56  WORKING_DIRECTORY    ${ORXONOX_RUNTIME_LIBRARY_DIRECTORY}
57  COMMENT "Generating tolua bind files for package CEGUILua"
58)
59
60ADD_COMPILER_FLAGS("-w44996" MSVC)
61
62SOURCE_GROUP("Source" FILES ${CEGUILUA_FILES})
63
64SET(CEGUILUA_LIBRARY ceguilua_orxonox)
65SET(CEGUILUA_LIBRARY ${CEGUILUA_LIBRARY} PARENT_SCOPE)
66ADD_LIBRARY(${CEGUILUA_LIBRARY} SHARED ${CEGUILUA_FILES})
67SET_TARGET_PROPERTIES(${CEGUILUA_LIBRARY} PROPERTIES DEFINE_SYMBOL "CEGUILUA_EXPORTS")
68TARGET_LINK_LIBRARIES(${CEGUILUA_LIBRARY}
69  tolua++_orxonox
70  ${LUA_LIBRARIES}
71  ${CEGUI_LIBRARY}
72)
73
74IF(NOT WIN32)
75  INSTALL(TARGETS ceguilua_orxonox LIBRARY DESTINATION lib)
76ENDIF()
Note: See TracBrowser for help on using the repository browser.