| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- # This CMakeLists.txt is a cross-platform alternative to the $Polycode/IDE/Build/$OS
- # build systems.
- #
- # It also demonstrates how Polycode projects other than the IDE can be built.
- # First a few variables need to be set:
- # * POLYCODE_ROOT_DIR
- # * POLYCODE_RELEASE_DIR
- # * POLYCODE_CMAKE_DIR
- # * CMAKE_INSTALL_PREFIX
- # Then we can simply include ${POLYCODE_CMAKE_DIR}/PolycodeDependencies.cmake
- # After that, ${POLYCODE_DEPENDENCY_LIBS} will be set to the paths of our required
- # link libraries, which we can simply add to our IDE project with TARGET_LINK_LIBRARIES
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
- PROJECT(PolycodeIDE)
- SET(POLYCODE_ROOT_DIR ${PolycodeIDE_SOURCE_DIR}/../../)
- SET(POLYCODE_RELEASE_DIR ${POLYCODE_ROOT_DIR}/Release/${CMAKE_SYSTEM_NAME})
- SET(POLYCODE_CMAKE_DIR ${POLYCODE_ROOT_DIR}/CMake)
- SET(CMAKE_INSTALL_PREFIX ${POLYCODE_RELEASE_DIR}/Standalone/)
- SET(CMAKE_PREFIX_PATH
- ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies
- ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies
- ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies)
- SET(CMAKE_DEBUG_POSTFIX "_d")
- SET(CMAKE_MODULE_PATH ${POLYCODE_ROOT_DIR}/CMake)
- INCLUDE(${POLYCODE_CMAKE_DIR}/PolycodeDependencies.cmake)
- IF(MSVC OR MINGW)
- SET(MAIN_CPP ../Build/Windows/main.cpp)
- ELSEIF(APPLE)
- MESSAGE("Target system not currently supported.")
- ELSE(MSVC OR MINGW)
- SET(MAIN_CPP ../Build/Linux/main.cpp)
- ENDIF(MSVC OR MINGW)
- SET(PolycodeIDE_SRCS
- ${MAIN_CPP}
- Source/ExampleBrowserWindow.cpp
- Source/PolycodeProject.cpp
- Source/ExportProjectWindow.cpp
- Source/PolycodeProjectBrowser.cpp
- Source/NewFileWindow.cpp
- Source/PolycodeProjectEditor.cpp
- Source/NewProjectWindow.cpp
- Source/PolycodeProjectManager.cpp
- Source/PolycodeClipboard.cpp
- Source/PolycodeProps.cpp
- Source/PolycodeConsole.cpp
- Source/PolycodeRemoteDebugger.cpp
- Source/PolycodeEditor.cpp
- Source/PolycodeScreenEditor.cpp
- Source/PolycodeEditorManager.cpp
- Source/PolycodeSpriteEditor.cpp
- Source/PolycodeFontEditor.cpp
- Source/PolycodeTextEditor.cpp
- Source/PolycodeFrame.cpp
- Source/PolycodeToolLauncher.cpp
- Source/PolycodeIDEApp.cpp
- Source/SettingsWindow.cpp
- Source/PolycodeImageEditor.cpp
- Source/TextureBrowser.cpp
- Source/PolycodeMaterialEditor.cpp
- Source/ToolWindows.cpp
- )
- SET(PolycodeIDE_HDRS
- Include/ExampleBrowserWindow.h
- Include/PolycodeFrame.h
- Include/PolycodeProps.h
- Include/ExportProjectWindow.h
- Include/PolycodeGlobals.h
- Include/PolycodeRemoteDebugger.h
- Include/NewFileWindow.h
- Include/PolycodeIDEApp.h
- Include/PolycodeScreenEditor.h
- Include/NewProjectWindow.h
- Include/PolycodeImageEditor.h
- Include/PolycodeSpriteEditor.h
- Include/PolycodeClipboard.h
- Include/PolycodeMaterialEditor.h
- Include/PolycodeTextEditor.h
- Include/PolycodeConsole.h
- Include/PolycodeProject.h
- Include/PolycodeToolLauncher.h
- Include/PolycodeEditor.h
- Include/PolycodeProjectBrowser.h
- Include/SettingsWindow.h
- Include/PolycodeEditorManager.h
- Include/PolycodeProjectEditor.h
- Include/TextureBrowser.h
- Include/PolycodeFontEditor.h
- Include/PolycodeProjectManager.h
- Include/ToolWindows.h
- )
- INSTALL(FILES ${POLYCODE_ROOT_DIR}/LICENSE.txt
- DESTINATION ./)
- # WIN32 makes it build a GUI application on windows(no effect on other platforms)
- ADD_EXECUTABLE(PolycodeIDE WIN32 ${PolycodeIDE_SRCS} ${PolycodeIDE_HDRS})
- IF(MSVC OR MINGW)
- INSTALL(FILES ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/bin/OpenAL32.dll DESTINATION bin)
- INSTALL(FILES ${POLYCODE_RELEASE_DIR}/Framework/Player/default.pak DESTINATION bin)
- INSTALL(FILES ${POLYCODE_RELEASE_DIR}/Framework/Player/hdr.pak DESTINATION bin)
- INSTALL(FILES ${POLYCODE_RELEASE_DIR}/Framework/Player/api.pak DESTINATION bin)
- INSTALL(FILES ${POLYCODE_RELEASE_DIR}/Framework/Player/UI.pak DESTINATION bin)
- INSTALL(FILES ${POLYCODE_RELEASE_DIR}/Framework/Player/Physics2D.pak DESTINATION bin)
- INSTALL(FILES ${POLYCODE_RELEASE_DIR}/Framework/Player/Physics3D.pak DESTINATION bin)
- TARGET_LINK_LIBRARIES(PolycodeIDE
- ${POLYCODE_DEPENDENCY_LIBS}
- )
- ELSEIF(APPLE)
- MESSAGE("Target system not currently supported.")
- ELSE(MSVC OR MINGW)
- TARGET_LINK_LIBRARIES(PolycodeIDE
- ${POLYCODE_DEPENDENCY_LIBS}
- )
-
- # Install resources etc. after the build is finished
- ADD_CUSTOM_COMMAND(TARGET PolycodeIDE POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/Resources/ ${CMAKE_BINARY_DIR}
- COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../../Release/Linux/Framework/Core/Assets/default.pak ${CMAKE_BINARY_DIR}
- COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/../../Release/Linux/Standalone ${CMAKE_BINARY_DIR}/Standalone
- )
- ENDIF(MSVC OR MINGW)
|