summaryrefslogtreecommitdiff
path: root/archived/projt-launcher/cmake/useCMark.cmake
blob: 079dd9b544c825094ae24de8146e34af7446dfdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
function(projt_add_cmark)
    set(_launcher_prev_cmark_build_shared_libs "")
    set(_launcher_cmark_build_shared_libs_set FALSE)
    if(DEFINED BUILD_SHARED_LIBS)
        set(_launcher_prev_cmark_build_shared_libs "${BUILD_SHARED_LIBS}")
        set(_launcher_cmark_build_shared_libs_set TRUE)
    endif()
    set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
    set(CMARK_SHARED OFF CACHE BOOL "" FORCE)
    set(CMARK_STATIC ON CACHE BOOL "" FORCE)
    set(_launcher_prev_cmark_osx_arch "${CMAKE_OSX_ARCHITECTURES}")
    if(APPLE
        AND CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64|aarch64"
        AND CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64")
        set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64")
    endif()
    if(UNIX AND NOT APPLE)
        if(DEFINED Launcher_BUNDLED_LIBDIR AND NOT Launcher_BUNDLED_LIBDIR STREQUAL "")
            projt_push_install_libdir("${Launcher_BUNDLED_LIBDIR}")
        endif()
        if(DEFINED Launcher_BUNDLED_INCLUDEDIR AND NOT Launcher_BUNDLED_INCLUDEDIR STREQUAL "")
            projt_push_install_includedir("${Launcher_BUNDLED_INCLUDEDIR}")
        endif()
    endif()
    projt_push_output_dirs("cmark")
    add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../cmark cmark)
    projt_pop_output_dirs()
    if(_launcher_cmark_build_shared_libs_set)
        set(BUILD_SHARED_LIBS "${_launcher_prev_cmark_build_shared_libs}" CACHE BOOL "" FORCE)
    else()
        unset(BUILD_SHARED_LIBS CACHE)
    endif()
    unset(_launcher_prev_cmark_build_shared_libs)
    unset(_launcher_cmark_build_shared_libs_set)
    if(UNIX AND NOT APPLE)
        if(DEFINED Launcher_BUNDLED_INCLUDEDIR AND NOT Launcher_BUNDLED_INCLUDEDIR STREQUAL "")
            projt_pop_install_includedir()
        endif()
        if(DEFINED Launcher_BUNDLED_LIBDIR AND NOT Launcher_BUNDLED_LIBDIR STREQUAL "")
            projt_pop_install_libdir()
        endif()
    endif()
    if(DEFINED _launcher_prev_cmark_osx_arch)
        set(CMAKE_OSX_ARCHITECTURES "${_launcher_prev_cmark_osx_arch}")
        unset(_launcher_prev_cmark_osx_arch)
    endif()
    if(TARGET cmark AND NOT TARGET cmark::cmark)
        add_library(cmark::cmark ALIAS cmark)
    endif()
endfunction()