cmake_minimum_required (VERSION 2.6) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_COMPILER "clang++") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") project (Kraken) macro (add_sources) file (RELATIVE_PATH _relPath "${PROJECT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") foreach (_src ${ARGN}) if (_relPath) list (APPEND SRCS "${_relPath}/${_src}") else() list (APPEND SRCS "${_src}") endif() endforeach() if (_relPath) # propagate SRCS to parent directory set (SRCS ${SRCS} PARENT_SCOPE) endif() endmacro() macro (add_public_header) file (RELATIVE_PATH _relPath "${PROJECT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") foreach (_src ${ARGN}) if (_relPath) list (APPEND KRAKEN_PUBLIC_HEADERS "${_relPath}/${_src}") else() list (APPEND KRAKEN_PUBLIC_HEADERS "${_src}") endif() endforeach() if (_relPath) # propagate KRAKEN_PUBLIC_HEADERS to parent directory set (KRAKEN_PUBLIC_HEADERS ${KRAKEN_PUBLIC_HEADERS} PARENT_SCOPE) endif() endmacro() IF(APPLE) # SET(GUI_TYPE MACOSX_BUNDLE) # INCLUDE_DIRECTORIES ( /Developer/Headers/FlatCarbon ) FIND_LIBRARY(OPENGL_LIBRARY OpenGL) FIND_LIBRARY(AUDIO_TOOLBOX_LIBRARY AudioToolbox) MARK_AS_ADVANCED (OPENGL_LIBRARY AUDIO_TOOLBOX_LIBRARY) SET(EXTRA_LIBS ${OPENGL_LIBRARY} ${AUDIO_TOOLBOX_LIBRARY}) FIND_PATH(COCOA_INCLUDE_DIR OpenGL/gl3.h) ENDIF (APPLE) add_subdirectory(kraken) add_library(kraken STATIC ${SRCS} ${KRAKEN_PUBLIC_HEADERS}) TARGET_LINK_LIBRARIES( kraken ${EXTRA_LIBS} ) SET_TARGET_PROPERTIES( kraken PROPERTIES FRAMEWORK ON SOVERSION 0 VERSION 0.1.0 PUBLIC_HEADER "${KRAKEN_PUBLIC_HEADERS}" PRIVATE_HEADER "${PRIVATE_HEADER_FILES}" ARCHIVE_OUTPUT_DIRECTORY "archive" LIBRARY_OUTPUT_DIRECTORY "lib" OUTPUT_NAME kraken )