The-NodeBox-Generator/CMakeLists.txt

168 lines
4.5 KiB
CMake
Raw Permalink Normal View History

#
2013-04-25 09:03:57 -07:00
# Set up project
#
2013-04-25 09:03:57 -07:00
cmake_minimum_required(VERSION 2.6)
2015-07-26 07:47:04 -07:00
project(nodeboxeditor)
2013-04-25 09:03:57 -07:00
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
#
2014-06-18 12:19:53 -07:00
# Configuration
#
2014-06-18 12:19:53 -07:00
set(NBE_MAJOR_VERSION 0)
2015-10-28 14:52:17 -07:00
set(NBE_MINOR_VERSION 9)
set(NBE_PATCH_VERSION 0)
set(NBE_LABEL_VERSION "Obsidian Glass")
2015-07-26 05:30:51 -07:00
option(DEBUG "Debug mode" 0)
2015-05-10 09:15:24 -07:00
if(DEBUG)
message("-- Is debug")
2015-07-26 05:30:51 -07:00
set(IS_DEBUG true)
2015-05-10 09:15:24 -07:00
endif(DEBUG)
configure_file(
"${PROJECT_SOURCE_DIR}/src/conf_cmake.hpp.in"
"${PROJECT_BINARY_DIR}/conf_cmake.hpp"
2014-06-18 12:19:53 -07:00
)
2015-05-10 09:15:24 -07:00
#
2013-04-25 09:03:57 -07:00
# Source files
#
set(NBE_SRC
2014-02-12 07:12:06 -08:00
src/main.cpp
src/Configuration.cpp
2014-07-29 11:24:06 -07:00
src/GUIHelpers.cpp
2014-02-12 07:12:06 -08:00
src/EditorState.cpp
src/MenuState.cpp
2014-07-29 11:24:06 -07:00
src/Editor.cpp
src/minetest.cpp
src/project/project.cpp
src/project/media.cpp
src/project/node.cpp
src/project/nodebox.cpp
2014-11-05 11:09:20 -08:00
src/modes/NBEditor.cpp
src/modes/NodeEditor.cpp
src/modes/TextureEditor.cpp
2014-11-05 11:14:06 -08:00
src/dialogs/FileDialog.cpp
src/dialogs/TextureDialog.cpp
src/dialogs/ImageDialog.cpp
2014-04-29 13:48:27 -07:00
src/FileFormat/FileFormat.cpp
2015-02-03 11:49:49 -08:00
src/FileFormat/helpers.cpp
2014-04-29 13:48:27 -07:00
src/FileFormat/NBE.cpp
2014-11-05 09:34:48 -08:00
src/FileFormat/Lua.cpp
2015-02-02 10:34:16 -08:00
src/FileFormat/CPP.cpp
2015-02-04 11:29:00 -08:00
src/FileFormat/obj.cpp
2014-04-25 11:46:35 -07:00
src/util/string.cpp
2014-07-06 08:34:00 -07:00
src/util/filesys.cpp
src/util/SimpleFileCombiner.cpp
2015-02-01 11:31:25 -08:00
src/util/tinyfiledialogs.c
)
add_executable(${PROJECT_NAME} ${NBE_SRC})
#
# Dependencies
#
find_package(Irrlicht REQUIRED)
2015-07-26 09:58:40 -07:00
if(WIN32)
# Windows
if(MSVC) # MSVC Specifics
set(PLATFORM_LIBS dbghelp.lib ${PLATFORM_LIBS})
# Surpress some useless warnings
add_definitions ( /D "_CRT_SECURE_NO_DEPRECATE" /W1 )
else() # Probably MinGW = GCC
set(PLATFORM_LIBS "")
endif()
set(PLATFORM_LIBS ws2_32.lib shlwapi.lib ${PLATFORM_LIBS})
# Zlib stuff
set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
CACHE PATH "Zlib include directory")
set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib"
CACHE FILEPATH "Path to zlibwapi.lib")
set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll"
CACHE FILEPATH "Path to zlibwapi.dll (for installation)")
else(WIN32)
find_package(ZLIB REQUIRED)
endif(WIN32)
find_package(X11 REQUIRED)
find_package(OpenGL REQUIRED)
find_package(JPEG REQUIRED)
find_package(BZip2 REQUIRED)
find_package(PNG REQUIRED)
2013-04-25 09:03:57 -07:00
include_directories(
${PROJECT_BINARY_DIR}
${IRRLICHT_INCLUDE_DIR}
${ZLIB_INCLUDE_DIR}
${CMAKE_BUILD_TYPE}
${X11_INCLUDE_DIR}
${OPENGL_INCLUDE_DIR}
${PNG_INCLUDE_DIR}
)
set(TLL
2013-04-25 09:03:57 -07:00
${IRRLICHT_LIBRARY}
${ZLIB_LIBRARIES}
${X11_LIBRARIES}
${OPENGL_LIBRARIES}
${JPEG_LIBRARIES}
${BZIP2_LIBRARIES}
${PNG_LIBRARIES}
)
if(UNIX)
find_library(XXF86VM_LIBRARY Xxf86vm)
target_link_libraries(
${PROJECT_NAME}
${TLL}
${XXF86VM_LIBRARY}
)
else()
target_link_libraries(
${PROJECT_NAME}
${TLL}
)
endif(UNIX)
#
# Executable
#
file(MAKE_DIRECTORY "bin")
2015-07-26 07:47:04 -07:00
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin")
set(CMAKE_CXX_FLAGS
2014-06-30 04:09:53 -07:00
"${CMAKE_CXX_FLAGS} -pthread")
#
# Installation
#
install(FILES media/fontlucida.png DESTINATION share/nodeboxeditor/media)
install(FILES media/gui_scale.png DESTINATION share/nodeboxeditor/media)
install(FILES media/coordinates.png DESTINATION share/nodeboxeditor/media)
install(FILES media/icon_mode_node.png DESTINATION share/nodeboxeditor/media)
install(FILES media/icon_mode_nodebox.png DESTINATION share/nodeboxeditor/media)
install(FILES media/icon_mode_texture.png DESTINATION share/nodeboxeditor/media)
install(FILES media/sky.jpg DESTINATION share/nodeboxeditor/media)
install(FILES media/texture_box.png DESTINATION share/nodeboxeditor/media)
install(FILES media/texture_terrain.png DESTINATION share/nodeboxeditor/media)
install(FILES media/icon.png DESTINATION share/nodeboxeditor/media)
install(FILES media/rotate_x.png DESTINATION share/nodeboxeditor/media)
install(FILES media/rotate_y.png DESTINATION share/nodeboxeditor/media)
install(FILES media/rotate_z.png DESTINATION share/nodeboxeditor/media)
2015-10-28 14:15:06 -07:00
install(FILES media/flip_x.png DESTINATION share/nodeboxeditor/media)
install(FILES media/flip_y.png DESTINATION share/nodeboxeditor/media)
install(FILES media/flip_z.png DESTINATION share/nodeboxeditor/media)
install(FILES editor.conf.example DESTINATION share/nodeboxeditor)
if(UNIX)
install (FILES nodeboxeditor.desktop DESTINATION share/applications)
endif()
install(FILES README.md DESTINATION share/nodeboxeditor)
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
2013-04-25 09:03:57 -07:00
if(WIN32)
if(DEFINED IRRLICHT_DLL)
2014-06-18 12:19:53 -07:00
install(FILES ${IRRLICHT_DLL} DESTINATION bin)
2013-04-25 09:03:57 -07:00
endif()
endif()