Lib65816/CMakeLists.txt

39 lines
1.1 KiB
CMake

cmake_minimum_required (VERSION 2.6)
project (65816)
include(ExternalProject)
ExternalProject_Add(
simple-logger
PREFIX "${PROJECT_SOURCE_DIR}/simple-logger"
GIT_REPOSITORY https://github.com/FrancescoRigoni/Simple-Logger.git
INSTALL_COMMAND "")
# Retrieve simple-logger sources location
ExternalProject_Get_Property(simple-logger source_dir)
set(SIMPLE_LOGGER_SRC ${source_dir})
# Retrieve simple-logger binaries location
ExternalProject_Get_Property(simple-logger binary_dir)
set(SIMPLE_LOGGER_BIN ${binary_dir})
if (CMAKE_VERSION VERSION_LESS "3.1")
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set (CMAKE_CXX_FLAGS "--std=gnu++14 ${CMAKE_CXX_FLAGS}")
endif ()
else ()
set (CMAKE_CXX_STANDARD 14)
endif ()
# Add paths for linker
link_directories(${SIMPLE_LOGGER_BIN})
# All warnings on
set (CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}")
file(GLOB sources_65816 src/*.cpp src/opcodes/*.cpp)
add_library(65816 ${sources_65816})
add_dependencies(65816 simple-logger)
target_link_libraries(65816 simpleLogger)
target_include_directories(65816 PRIVATE ${PROJECT_SOURCE_DIR}/include ${SIMPLE_LOGGER_SRC})