ソースを参照

Add CMake support for easier cross-platform builds.

Christopher Kohnert 8 年 前
コミット
22831c7225
3 ファイル変更44 行追加3 行削除
  1. 2 0
      .gitignore
  2. 42 0
      CMakeLists.txt
  3. 0 3
      Makefile

+ 2 - 0
.gitignore

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

+ 42 - 0
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)

+ 0 - 3
Makefile

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