mpw/CMakeLists.txt

59 lines
1.4 KiB
CMake
Raw Normal View History

2016-08-09 08:16:12 -04:00
cmake_minimum_required(VERSION 3.1)
2016-08-02 17:12:15 -04:00
project(mpw)
set (PROJECT_TYPE "CXX")
set (PROJECT_NAME "mpw")
2016-08-02 20:12:17 -04:00
# these are only effective as of CMake 3.1, apparently.
# Use c++14 for all C++ files, c99 for C files.
#
2016-08-02 17:12:15 -04:00
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_CXX_EXTENSIONS FALSE)
2016-08-02 20:12:17 -04:00
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED TRUE)
set(CMAKE_C_EXTENSIONS FALSE)
2016-08-12 19:49:58 -04:00
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
# Clang or AppleClang
2016-08-31 20:38:31 -04:00
add_compile_options(-g -Wall)
2016-08-12 19:49:58 -04:00
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
2016-08-31 20:38:31 -04:00
add_compile_options(-g -Wall -Wno-unknown-pragmas)
2016-08-12 19:49:58 -04:00
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
2016-08-02 17:12:15 -04:00
endif()
2016-08-31 20:38:31 -04:00
include_directories(${CMAKE_SOURCE_DIR})
include_directories(${CMAKE_BINARY_DIR})
2016-08-12 19:49:58 -04:00
#
# create the config.h file.
#
INCLUDE (CheckIncludeFiles)
2016-08-12 19:49:58 -04:00
INCLUDE (CheckStructHasMember)
CHECK_INCLUDE_FILES(endian.h HAVE_ENDIAN_H)
CHECK_INCLUDE_FILES(sys/endian.h HAVE_SYS_ENDIAN_H)
CHECK_INCLUDE_FILES(machine/endian.h HAVE_MACHINE_ENDIAN_H)
2016-08-12 19:49:58 -04:00
CHECK_STRUCT_HAS_MEMBER("struct dirent" d_namlen dirent.h HAVE_DIRENT_D_NAMLEN)
CHECK_STRUCT_HAS_MEMBER("struct stat" st_birthtime sys/stat.h HAVE_STAT_ST_BIRTHTIME)
2016-08-09 11:56:25 -04:00
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_BINARY_DIR}/config.h)
2016-08-02 17:12:15 -04:00
2013-02-05 23:41:11 -05:00
add_subdirectory(bin)
2013-02-06 23:44:12 -05:00
add_subdirectory(cpu)
2013-02-07 19:47:49 -05:00
add_subdirectory(toolbox)
2013-02-10 20:18:47 -05:00
add_subdirectory(mplite)
add_subdirectory(mpw)
2013-03-03 22:17:27 -05:00
add_subdirectory(macos)
2016-08-09 08:16:12 -04:00
add_subdirectory(cxx)
add_subdirectory(native)