sitara_depot/utils/FileToSharedMem/CMakeLists.txt

52 lines
1.8 KiB
CMake
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

cmake_minimum_required(VERSION 3.17)
project(FileToSharedMem)
# Подключаем исходные файлы проекта.
set(SOURCES
MemMapping.cpp MemMapping.h
)
# Подключаем внешние зависимости.
include(FetchContent)
include(SharedLibraries.cmake)
# Определяем зависимости, являющиеся общими для всех целей.
set(LIST_OF_SHARED_LIBRARIES
cxxopts
)
# Определяем свойства, являющиеся общими для всех целей.
set(LIST_OF_SHARED_PROPERTIES
CXX_STANDARD 20
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)
add_executable(FileToSharedMem FileToSharedMem.cpp ${SOURCES})
add_executable(DevMem DevMem.cpp ${SOURCES})
# Добавляем корневую директорию для того чтобы избежать инклюдов с ../
target_include_directories(FileToSharedMem PRIVATE ${PROJECT_SOURCE_DIR})
target_include_directories(DevMem PRIVATE ${PROJECT_SOURCE_DIR})
# Подключаем зависимости.
target_link_libraries(FileToSharedMem PRIVATE ${LIST_OF_SHARED_LIBRARIES})
target_link_libraries(DevMem PRIVATE ${LIST_OF_SHARED_LIBRARIES})
# Определяем свойства.
set_target_properties(FileToSharedMem PROPERTIES ${LIST_OF_SHARED_PROPERTIES})
set_target_properties(DevMem PROPERTIES ${LIST_OF_SHARED_PROPERTIES})
# Подключаем зависимости платформы.
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
set(WIN_SHARED_LIBRARIES -Wl,-Bstatic,--whole-archive -static-libgcc -static-libstdc++ -lwinpthread
-Wl,--no-whole-archive wsock32 ws2_32
)
target_link_libraries(FileToSharedMem PRIVATE ${WIN_SHARED_LIBRARIES})
target_link_libraries(DevMem PRIVATE ${WIN_SHARED_LIBRARIES})
endif()