15 Ağustos 2017 Salı

CMake System Variables

CMAKE_SYSTEM_NAME Macrosu
Örnek
Şöyle yaparız.
# Detect operating system
message(STATUS "Operating system is ${CMAKE_SYSTEM_NAME}")
if($(CMAKE_SYSTEM_NAME) STREQUAL "Linux")
    add_definitions(-DSYSTEM_LINUX)
endif()
if($(CMAKE_SYSTEM_NAME) STREQUAL "Windows")
    add_definitions(-DSYSTEM_WINDOWS)
endif()
Örnek
Şöyle yaparız
IF(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Windows")
    ADD_DEFINITIONS (-std=c++0x
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
Örnek
Değişkene kendimiz değer atamak istersek şöyle yaparız. Bu yöntem işletim sisteminden farklı bir toolchain kullanılıyorsa tercih edilir.
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_VERSION 1)
MSVC Macrosu
Şöyle yaparız.
if(MSVC)
    set(CMAKE_CXX_FLAGS "/WX- /Wall /O2 /Ob2")
else()
    set(CMAKE_CXX_FLAGS "-pthread -Wall -O3")
endif()
Şöyle yaparız.
if(MSVC)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
endif(MSVC)

Hiç yorum yok:

Yorum Gönder