rttr.CMakeLists.txt 1.02 KB
Newer Older
Nicolas Carion's avatar
Nicolas Carion committed
1 2
include(ExternalProject)
ExternalProject_Add(rttr_project
Vincent Pinon's avatar
Vincent Pinon committed
3
    PREFIX rttr
4 5
    URL https://github.com/rttrorg/rttr/archive/v0.9.6.tar.gz
    UPDATE_COMMAND ""
Vincent Pinon's avatar
Vincent Pinon committed
6
    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_EXAMPLES=OFF -DBUILD_DOCUMENTATION=OFF -DBUILD_UNIT_TESTS=OFF -DBUILD_PACKAGE=OFF -DBUILD_STATIC=ON
Nicolas Carion's avatar
Nicolas Carion committed
7
)
Nicolas Carion's avatar
Nicolas Carion committed
8

9 10
ExternalProject_Get_Property(rttr_project install_dir)
file(MAKE_DIRECTORY "${install_dir}/include")
Vincent Pinon's avatar
Vincent Pinon committed
11
file(MAKE_DIRECTORY "${install_dir}/lib")
Vincent Pinon's avatar
Vincent Pinon committed
12 13 14 15 16
# fails on Win: execute_process(COMMAND touch "${install_dir}/lib/librttr_core.a")
# CMake >=3.12: file(TOUCH "${install_dir}/lib/librttr_core.a")
if(NOT EXISTS "${install_dir}/lib/librttr_core.a")
    file(WRITE "${install_dir}/lib/librttr_core.a" "dummy file to be replaced by build")
endif()
Nicolas Carion's avatar
Nicolas Carion committed
17

Vincent Pinon's avatar
Vincent Pinon committed
18 19 20
add_library(RTTR::Core_Lib STATIC IMPORTED)
add_dependencies(RTTR::Core_Lib rttr_project)
set_target_properties(RTTR::Core_Lib PROPERTIES
21 22
    IMPORTED_LOCATION "${install_dir}/lib/librttr_core.a"
    INTERFACE_INCLUDE_DIRECTORIES "${install_dir}/include")