Merge pull request #42 from ckohnert/cmake

Add CMake support for easier cross-platform builds.
This commit is contained in:
Viktor Chlumský 2017-06-01 12:34:59 +02:00 committed by GitHub
commit 52e020ada8
3 changed files with 49 additions and 3 deletions

2
.gitignore vendored
View File

@ -10,3 +10,5 @@ Release/
*.VC.opendb
output.png
render.png
out/
build_xcode/

47
CMakeLists.txt Normal file
View File

@ -0,0 +1,47 @@
cmake_minimum_required(VERSION 2.8.12)
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 "${CMAKE_CXX_FLAGS} -std=c++11")
endif()
# Make release mode default (turn on optimizations)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
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)

View File

@ -1,3 +0,0 @@
all:
g++ -I include -D MSDFGEN_STANDALONE -O2 -o msdfgen core/*.cpp lib/*.cpp ext/*.cpp main.cpp -lfreetype