From 22831c722577c0e9868f16bd4f77d50cbaaecc7b Mon Sep 17 00:00:00 2001 From: Christopher Kohnert Date: Wed, 31 May 2017 09:30:15 -0700 Subject: [PATCH] Add CMake support for easier cross-platform builds. --- .gitignore | 2 ++ CMakeLists.txt | 42 ++++++++++++++++++++++++++++++++++++++++++ Makefile | 3 --- 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 CMakeLists.txt delete mode 100644 Makefile diff --git a/.gitignore b/.gitignore index a696745..9cdcff2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ Release/ *.VC.opendb output.png render.png +out/ +build_xcode/ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e7e0f60 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,42 @@ +cmake_minimum_required(VERSION 2.8.11) + +project(msdfgen) + +find_package(Freetype REQUIRED) + +include(CheckCXXCompilerFlag) +CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) +if (COMPILER_SUPPORTS_CXX11) + add_definitions(-DMSDFGEN_USE_CPP11) + set(CMAKE_CXX_FLAGS "-std=c++11") +endif() + + +# Note: Clang doesn't support openMP by default... +#find_package(OpenMP) +#if (OPENMP_FOUND) +# set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") +# set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +#endif() + + +file(GLOB_RECURSE msdfgen_SOURCES + "core/*.cpp" + "lib/*.cpp" + "ext/*.cpp" +) + +include_directories(${FREETYPE_INCLUDE_DIRS}) +include_directories("include") + +# Build the library (aliased name because it's the same target name the exe) + +add_library(lib_msdfgen ${msdfgen_SOURCES}) +set_target_properties(lib_msdfgen PROPERTIES OUTPUT_NAME msdfgen) +target_link_libraries(lib_msdfgen ${FREETYPE_LIBRARIES}) + +# Build the executable + +add_executable(msdfgen main.cpp) +target_compile_definitions(msdfgen PRIVATE MSDFGEN_STANDALONE) +target_link_libraries(msdfgen lib_msdfgen) diff --git a/Makefile b/Makefile deleted file mode 100644 index ebdf199..0000000 --- a/Makefile +++ /dev/null @@ -1,3 +0,0 @@ - -all: - g++ -I include -D MSDFGEN_STANDALONE -O2 -o msdfgen core/*.cpp lib/*.cpp ext/*.cpp main.cpp -lfreetype