build system: better support for IDEs

This commit is contained in:
Michele Caini
2020-02-09 23:16:59 +01:00
parent c3facfa925
commit 3ad2c559f1
3 changed files with 35 additions and 25 deletions

View File

@@ -23,8 +23,6 @@ project(
HOMEPAGE_URL "https://github.com/skypjack/entt"
LANGUAGES CXX)
include(GNUInstallDirs)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug)
endif()
@@ -65,6 +63,8 @@ endif()
# Add EnTT target
#
include(GNUInstallDirs)
add_library(EnTT INTERFACE)
add_library(EnTT::EnTT ALIAS EnTT)
@@ -185,16 +185,17 @@ endif()
# AOB
#
FILE(GLOB GH_WORKFLOWS .github/workflows/*.yml)
add_custom_target(
entt_aob
SOURCES
${GH_WORKFLOWS}
.github/FUNDING.yml
AUTHORS
CONTRIBUTING.md
LICENSE
README.md
TODO
set(
AOB_SOURCES
.github/workflows/build.yml
.github/workflows/coverage.yml
.github/FUNDING.yml
AUTHORS
CONTRIBUTING.md
LICENSE
README.md
TODO
)
add_custom_target(aob SOURCES ${AOB_SOURCES})
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${AOB_SOURCES})

View File

@@ -9,12 +9,28 @@ set(DOXY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
configure_file(doxy.in doxy.cfg @ONLY)
set(
DOC_SOURCES
dox/extra.dox
md/core.md
md/entity.md
md/faq.md
md/lib.md
md/links.md
md/locator.md
md/meta.md
md/process.md
md/resource.md
md/signal.md
doxy.in
)
add_custom_target(
docs ALL
COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxy.cfg
WORKING_DIRECTORY ${EnTT_SOURCE_DIR}
VERBATIM
SOURCES doxy.in
SOURCES ${DOC_SOURCES}
)
install(
@@ -22,11 +38,4 @@ install(
DESTINATION share/${PROJECT_NAME}-${PROJECT_VERSION}/
)
FILE(GLOB MD_FILES md/*.md)
add_custom_target(
docs_aob
SOURCES
dox/extra.dox
${MD_FILES}
)
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${DOC_SOURCES})

View File

@@ -40,8 +40,8 @@ endfunction()
add_library(odr OBJECT odr.cpp)
SETUP_TARGET(odr)
function(SETUP_BASIC_TEST TEST_NAME TEST_SOURCE)
add_executable(${TEST_NAME} $<TARGET_OBJECTS:odr> ${TEST_SOURCE})
function(SETUP_BASIC_TEST TEST_NAME TEST_SOURCES)
add_executable(${TEST_NAME} $<TARGET_OBJECTS:odr> ${TEST_SOURCES})
target_link_libraries(${TEST_NAME} PRIVATE GTest::Main Threads::Threads)
SETUP_TARGET(${TEST_NAME})
add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})