Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,65 @@ CMakeSettings.json
sphinx-venv
**/__pycache__
*-env
3rdparty/CMakeFiles
3rdparty/cmake_install.cmake
3rdparty/Makefile
docs/docs
light/CMakeFiles
light/cmake_install.cmake
light/Makefile
light/light
light/lib*
vis/CMakeFiles
vis/cmake_install.cmake
vis/Makefile
vis/vis
vis/lib*
qbsp/Makefile
qbsp/CMakeFiles
qbsp/cmake_install.cmake
qbsp/qbsp
qbsp/lib*
bspinfo/Makefile
bspinfo/CMakeFiles
bspinfo/cmake_install.cmake
bspinfo/bspinfo
bspinfo/lib*
bsputil/Makefile
bsputil/CMakeFiles
bsputil/cmake_install.cmake
bsputil/bsputil
bsputil/lib*
maputil/Makefile
maputil/CMakeFiles
maputil/cmake_install.cmake
maputil/maputil
maputil/lib*
common/lib*
lightpreview/Makefile
lightpreview/CMakeFiles
lightpreview/cmake_install.cmake
lightpreview/lightpreview
lightpreview/lightpreview_autogen
lightpreview/lib*
tests/Makefile
tests/CMakeFiles
tests/cmake_install.cmake
tests/tests
tests/lib*
testmaps.hh
cmake_install.cmake
Makefile
CMakeCache.txt
CPackConfig.cmake
CPackSourceConfig.cmake
CTestTestConfig.cmake
CTestTestfile.cmake
docs/CTestTestConfig.cmake
docs/CTestTestfile.cmake
docs/cmake_install.cmake
docs/CMakeFiles/
docs/CMakeCache.txt
lib/lib*
install_manifest.txt
_deps/
8 changes: 8 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ cmake_policy(SET CMP0028 NEW)

project (ericw-tools)

include(GNUInstallDirs)

list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/3rdparty/Catch2/extras")

Expand Down Expand Up @@ -159,6 +161,8 @@ set(TEST_QUAKE2_MAP_EXPORT_DIR "" CACHE PATH "When running unit tests, export Qu
set(TEST_HEXEN2_MAP_EXPORT_DIR "" CACHE PATH "When running unit tests, export Hexen 2 maps to this directory (useful for testing in game)")
set(TEST_HALFLIFE_MAP_EXPORT_DIR "" CACHE PATH "When running unit tests, export Half-Life maps to this directory (useful for testing in game)")

option(ENABLE_PREFIX_INSTALL "Enable Prefix install" OFF)

add_subdirectory(3rdparty)
add_subdirectory(common)
add_subdirectory(bspinfo)
Expand Down Expand Up @@ -191,7 +195,11 @@ if(NOT DISABLE_DOCS)
add_subdirectory(docs)
endif ()

if(ENABLE_PREFIX_INSTALL)
install(FILES README.md DESTINATION ${CMAKE_INSTALL_DOCDIR})
else()
install(FILES README.md DESTINATION .)
endif ()

#CPack configuration

Expand Down
4 changes: 4 additions & 0 deletions bspinfo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,8 @@ add_custom_command(TARGET bspinfo POST_BUILD
copy_mingw_dlls(bspinfo)
add_loader_path_to_rpath(bspinfo)

if(ENABLE_PREFIX_INSTALL)
install(TARGETS bspinfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
install(TARGETS bspinfo RUNTIME DESTINATION .)
endif()
4 changes: 4 additions & 0 deletions bsputil/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,8 @@ add_custom_command(TARGET bsputil POST_BUILD
copy_mingw_dlls(bsputil)
add_loader_path_to_rpath(bsputil)

if(ENABLE_PREFIX_INSTALL)
install(TARGETS bsputil RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
install(TARGETS bsputil RUNTIME DESTINATION .)
endif()
5 changes: 5 additions & 0 deletions docs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,10 @@ if (Sphinx_FOUND)
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating documentation with Sphinx")

if(ENABLE_PREFIX_INSTALL)
install(DIRECTORY ${SPHINX_BUILD}/ DESTINATION ${CMAKE_INSTALL_DOCDIR})
else()
install(DIRECTORY ${SPHINX_BUILD}/ DESTINATION doc)
endif()

endif()
15 changes: 12 additions & 3 deletions light/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
option(SKIP_TBB_INSTALL "Skip TBB Library Installation" OFF)
option(SKIP_EMBREE_INSTALL "Skip Embree Library Installation" OFF)
option(SKIP_TBB_INSTALL "Skip TBB Library Installation" ON)
option(SKIP_EMBREE_INSTALL "Skip Embree Library Installation" ON)

set(LIGHT_INCLUDES
../include/light/entities.hh
Expand Down Expand Up @@ -97,7 +97,11 @@ if (embree_FOUND)
endif()

if(NOT SKIP_EMBREE_INSTALL)
install(FILES $<TARGET_FILE:embree> DESTINATION .)
if(ENABLE_PREFIX_INSTALL)
install(FILES $<TARGET_FILE:embree> DESTINATION ${CMAKE_INSTALL_LIBDIR})
else()
install(FILES $<TARGET_FILE:embree> DESTINATION .)
endif()
endif()

# install TBB
Expand Down Expand Up @@ -145,5 +149,10 @@ endif(embree_FOUND)
copy_mingw_dlls(light)
add_loader_path_to_rpath(light)

if(ENABLE_PREFIX_INSTALL)
install(TARGETS light RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ../gpl_v3.txt DESTINATION ${CMAKE_INSTALL_DOCDIR})
else()
install(TARGETS light RUNTIME DESTINATION .)
install(FILES ../gpl_v3.txt DESTINATION .)
endif()
4 changes: 4 additions & 0 deletions lightpreview/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -130,4 +130,8 @@ if (APPLE)
apple_install_lib(Qt6::DBus "$<TARGET_FILE_DIR:lightpreview>/QtDBus.framework/Versions/A")
endif ()

if(ENABLE_PREFIX_INSTALL)
install(TARGETS lightpreview RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
install(TARGETS lightpreview RUNTIME DESTINATION . BUNDLE DESTINATION .)
endif()
4 changes: 4 additions & 0 deletions maputil/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@ add_custom_command(TARGET maputil POST_BUILD
copy_mingw_dlls(maputil)
add_loader_path_to_rpath(maputil)

if(ENABLE_PREFIX_INSTALL)
install(TARGETS maputil RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
install(TARGETS maputil RUNTIME DESTINATION .)
endif()
4 changes: 4 additions & 0 deletions qbsp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ target_link_libraries(libqbsp common ${CMAKE_THREAD_LIBS_INIT} TBB::tbb TBB::tbb
add_executable(qbsp main.cc)
target_link_libraries(qbsp libqbsp)

if(ENABLE_PREFIX_INSTALL)
install(TARGETS qbsp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
install(TARGETS qbsp RUNTIME DESTINATION .)
endif()

# HACK: copy .dll dependencies
add_custom_command(TARGET qbsp POST_BUILD
Expand Down
4 changes: 4 additions & 0 deletions vis/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,8 @@ add_custom_command(TARGET vis POST_BUILD
copy_mingw_dlls(vis)
add_loader_path_to_rpath(vis)

if(ENABLE_PREFIX_INSTALL)
install(TARGETS vis RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
install(TARGETS vis RUNTIME DESTINATION .)
endif()