119 lines
3.7 KiB
Text
119 lines
3.7 KiB
Text
|
cmake_policy(SET CMP0043 NEW)
|
||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../bin/editor)
|
||
|
|
||
|
#brew path
|
||
|
if(APPLE)
|
||
|
list(APPEND CMAKE_PREFIX_PATH /usr/local/opt/qt5/lib/cmake)
|
||
|
endif()
|
||
|
|
||
|
set(CMAKE_AUTOMOC ON)
|
||
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||
|
|
||
|
find_package(Qt5Core REQUIRED)
|
||
|
find_package(Qt5Gui REQUIRED)
|
||
|
find_package(Qt5Widgets REQUIRED)
|
||
|
find_package(LibArchive REQUIRED)
|
||
|
|
||
|
set(SOURCE_FILES
|
||
|
src/inspectors/lightinspector.cpp
|
||
|
src/inspectors/meshrendererinspector.cpp
|
||
|
src/inspectors/transforminspector.cpp
|
||
|
src/inspectors/camerainspector.cpp
|
||
|
src/inspectors/materialinspector.cpp
|
||
|
src/inspectors/inspectorbase.cpp
|
||
|
src/inspectors/scriptactorinspector.cpp
|
||
|
src/inspectors/playerstartinspector.cpp
|
||
|
src/inspectors/boxcolliderinspector.cpp
|
||
|
src/inspectors/rigidbodyinspector.cpp
|
||
|
src/inspectors/modelinspector.cpp
|
||
|
src/inspectors/mapinspector.cpp
|
||
|
src/inspectors/cubemapinspector.cpp
|
||
|
src/inspectors/envprobeinspector.cpp
|
||
|
src/assetbrowser.cpp
|
||
|
src/entityitemmodel.cpp
|
||
|
src/hierarchy.cpp
|
||
|
src/idselector.cpp
|
||
|
src/inspector.cpp
|
||
|
src/main.cpp
|
||
|
src/mainwindow.cpp
|
||
|
src/quaternionwidget.cpp
|
||
|
src/vector3widget.cpp
|
||
|
src/viewport.cpp
|
||
|
src/objectselectiondialog.cpp
|
||
|
src/colorwidget.cpp
|
||
|
src/exportwindow.cpp
|
||
|
src/projectwindow.cpp
|
||
|
src/gamesettings.cpp
|
||
|
src/assimpimporter.cpp
|
||
|
src/editorstyle.cpp
|
||
|
src/worldsettings.cpp)
|
||
|
|
||
|
set(INCLUDE_FILES
|
||
|
include/inspectors/inspectorbase.h
|
||
|
include/inspectors/lightinspector.h
|
||
|
include/inspectors/meshrendererinspector.h
|
||
|
include/inspectors/transforminspector.h
|
||
|
include/inspectors/camerainspector.h
|
||
|
include/inspectors/materialinspector.h
|
||
|
include/inspectors/scriptactorinspector.h
|
||
|
include/inspectors/playerstartinspector.h
|
||
|
include/inspectors/boxcolliderinspector.h
|
||
|
include/inspectors/rigidbodyinspector.h
|
||
|
include/inspectors/modelinspector.h
|
||
|
include/inspectors/mapinspector.h
|
||
|
include/inspectors/cubemapinspector.h
|
||
|
include/inspectors/envprobeinspector.h
|
||
|
include/assetbrowser.h
|
||
|
include/hierarchy.h
|
||
|
include/idselector.h
|
||
|
include/inspector.h
|
||
|
include/mainwindow.h
|
||
|
include/quaternionwidget.h
|
||
|
include/vector3widget.h
|
||
|
include/viewport.h
|
||
|
include/objectselectiondialog.h
|
||
|
include/colorwidget.h
|
||
|
include/exportwindow.h
|
||
|
include/projectwindow.h
|
||
|
include/gamesettings.h
|
||
|
include/editorstyle.h
|
||
|
include/worldsettings.h)
|
||
|
|
||
|
include_directories(include)
|
||
|
|
||
|
include_directories(
|
||
|
${ECS_INCLUDE_DIR}
|
||
|
${ASSETS_INCLUDE_DIR}
|
||
|
${RENDERER_INCLUDE_DIR}
|
||
|
${NULLRENDERER_INCLUDE_DIR}
|
||
|
${CORE_INCLUDE_DIR}
|
||
|
${INPUT_INCLUDE_DIR}
|
||
|
${UTILITY_INCLUDE_DIR}
|
||
|
${PLATFORM_INCLUDE_DIR})
|
||
|
|
||
|
include_directories(SYSTEM
|
||
|
${LIBRARY_JSON_INCLUDE_DIR}
|
||
|
${LIBRARY_GLAD_INCLUDE_DIR}
|
||
|
${LIBRARY_GLSLANG_INCLUDE_DIR}
|
||
|
${LIBRARY_SPIRV_INCLUDE_DIR}
|
||
|
${LibArchive_INCLUDE_DIRS}
|
||
|
${LIBRARY_TWM_INCLUDE_DIR})
|
||
|
|
||
|
add_definitions(-DGLFW_INCLUDE_NONE)
|
||
|
|
||
|
qt5_wrap_ui(EDITOR_UI forms/mainwindow.ui)
|
||
|
qt5_wrap_cpp(EDITOR_SRC ${INCLUDE_FILES})
|
||
|
|
||
|
add_executable(Editor ${SOURCE_FILES} ${EDITOR_UI} ${EDITOR_SRC})
|
||
|
add_dependencies(Editor copydist)
|
||
|
|
||
|
target_link_libraries(Editor assimp ToolWindowManager)
|
||
|
include_directories(SYSTEM ${LIBRARY_GLAD_INCLUDE_DIR} ${LIBRARY_GLSLANG_INCLUDE_DIR} ${LIBRARY_SPIRV_INCLUDE_DIR})
|
||
|
|
||
|
if(UNIX)
|
||
|
target_link_libraries(Editor X11)
|
||
|
endif()
|
||
|
|
||
|
target_link_libraries(Editor Core Assets ECS Platform Input ${LibArchive_LIBRARIES})
|
||
|
|
||
|
qt5_use_modules(Editor Core Gui Widgets)
|