From f8fc2dd808bb1e1ea4075f0f60ab1104cb3fc618 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Tue, 12 Mar 2019 17:56:40 -0700 Subject: [PATCH] split cmgen into an exe + libibl.a --- CMakeLists.txt | 1 + libs/ibl/CMakeLists.txt | 51 +++++++++++++++++++ .../src => libs/ibl/include/ibl}/Cubemap.h | 2 +- .../src => libs/ibl/include/ibl}/CubemapIBL.h | 0 .../src => libs/ibl/include/ibl}/CubemapSH.h | 0 .../ibl/include/ibl}/CubemapUtils.h | 6 +-- .../src => libs/ibl/include/ibl}/Image.h | 0 .../src => libs/ibl/include/ibl}/utilities.h | 0 {tools/cmgen => libs/ibl}/src/Cubemap.cpp | 2 +- {tools/cmgen => libs/ibl}/src/CubemapIBL.cpp | 8 +-- {tools/cmgen => libs/ibl}/src/CubemapSH.cpp | 8 +-- .../cmgen => libs/ibl}/src/CubemapUtils.cpp | 4 +- {tools/cmgen => libs/ibl}/src/Image.cpp | 2 +- tools/cmgen/CMakeLists.txt | 13 +---- tools/cmgen/src/cmgen.cpp | 12 ++--- 15 files changed, 75 insertions(+), 34 deletions(-) create mode 100644 libs/ibl/CMakeLists.txt rename {tools/cmgen/src => libs/ibl/include/ibl}/Cubemap.h (99%) rename {tools/cmgen/src => libs/ibl/include/ibl}/CubemapIBL.h (100%) rename {tools/cmgen/src => libs/ibl/include/ibl}/CubemapSH.h (100%) rename {tools/cmgen/src => libs/ibl/include/ibl}/CubemapUtils.h (99%) rename {tools/cmgen/src => libs/ibl/include/ibl}/Image.h (100%) rename {tools/cmgen/src => libs/ibl/include/ibl}/utilities.h (100%) rename {tools/cmgen => libs/ibl}/src/Cubemap.cpp (99%) rename {tools/cmgen => libs/ibl}/src/CubemapIBL.cpp (99%) rename {tools/cmgen => libs/ibl}/src/CubemapSH.cpp (99%) rename {tools/cmgen => libs/ibl}/src/CubemapUtils.cpp (99%) rename {tools/cmgen => libs/ibl}/src/Image.cpp (98%) diff --git a/CMakeLists.txt b/CMakeLists.txt index a53a158873..878b8e10e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -342,6 +342,7 @@ add_subdirectory(${LIBRARIES}/filabridge) add_subdirectory(${LIBRARIES}/filaflat) add_subdirectory(${LIBRARIES}/filameshio) add_subdirectory(${LIBRARIES}/geometry) +add_subdirectory(${LIBRARIES}/ibl) add_subdirectory(${LIBRARIES}/image) add_subdirectory(${LIBRARIES}/math) add_subdirectory(${LIBRARIES}/utils) diff --git a/libs/ibl/CMakeLists.txt b/libs/ibl/CMakeLists.txt new file mode 100644 index 0000000000..9e271bff9f --- /dev/null +++ b/libs/ibl/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.1) +project(cmgen) + +set(TARGET ibl) +set(PUBLIC_HDR_DIR include) + +# ================================================================================================== +# Sources and headers +# ================================================================================================== +set(PUBLIC_HDRS + ${PUBLIC_HDR_DIR}/ibl/Cubemap.h + ${PUBLIC_HDR_DIR}/ibl/CubemapIBL.h + ${PUBLIC_HDR_DIR}/ibl/CubemapSH.h + ${PUBLIC_HDR_DIR}/ibl/CubemapUtils.h + ${PUBLIC_HDR_DIR}/ibl/Image.h + ${PUBLIC_HDR_DIR}/ibl/utilities.h +) + +set(SRCS + src/Cubemap.cpp + src/CubemapIBL.cpp + src/CubemapSH.cpp + src/CubemapUtils.cpp + src/Image.cpp +) + +# ================================================================================================== +# Target definitions +# ================================================================================================== +include_directories(${PUBLIC_HDR_DIR}) + +add_library(${TARGET} ${PUBLIC_HDRS} ${SRCS}) +target_include_directories(${TARGET} PUBLIC ${PUBLIC_HDR_DIR}) + +target_link_libraries(${TARGET} math utils image) + +# ================================================================================================== +# Compile options and optimizations +# ================================================================================================== +if (MSVC OR CLANG_CL) + target_compile_options(${TARGET} PRIVATE /fp:fast) +else() + target_compile_options(${TARGET} PRIVATE -ffast-math) +endif() + + +# ================================================================================================== +# Installation +# ================================================================================================== +install(TARGETS ${TARGET} ARCHIVE DESTINATION lib/${DIST_DIR}) +install(DIRECTORY ${PUBLIC_HDR_DIR}/ibl DESTINATION include) diff --git a/tools/cmgen/src/Cubemap.h b/libs/ibl/include/ibl/Cubemap.h similarity index 99% rename from tools/cmgen/src/Cubemap.h rename to libs/ibl/include/ibl/Cubemap.h index 3793bdc7f3..e472ad7b08 100644 --- a/tools/cmgen/src/Cubemap.h +++ b/libs/ibl/include/ibl/Cubemap.h @@ -17,7 +17,7 @@ #ifndef SRC_CUBEMAP_H_ #define SRC_CUBEMAP_H_ -#include "Image.h" +#include #include diff --git a/tools/cmgen/src/CubemapIBL.h b/libs/ibl/include/ibl/CubemapIBL.h similarity index 100% rename from tools/cmgen/src/CubemapIBL.h rename to libs/ibl/include/ibl/CubemapIBL.h diff --git a/tools/cmgen/src/CubemapSH.h b/libs/ibl/include/ibl/CubemapSH.h similarity index 100% rename from tools/cmgen/src/CubemapSH.h rename to libs/ibl/include/ibl/CubemapSH.h diff --git a/tools/cmgen/src/CubemapUtils.h b/libs/ibl/include/ibl/CubemapUtils.h similarity index 99% rename from tools/cmgen/src/CubemapUtils.h rename to libs/ibl/include/ibl/CubemapUtils.h index 25c29e01f9..1536a85818 100644 --- a/tools/cmgen/src/CubemapUtils.h +++ b/libs/ibl/include/ibl/CubemapUtils.h @@ -17,10 +17,10 @@ #ifndef SRC_CUBEMAPUTILS_H_ #define SRC_CUBEMAPUTILS_H_ -#include +#include +#include -#include "Cubemap.h" -#include "Image.h" +#include class CubemapUtils { public: diff --git a/tools/cmgen/src/Image.h b/libs/ibl/include/ibl/Image.h similarity index 100% rename from tools/cmgen/src/Image.h rename to libs/ibl/include/ibl/Image.h diff --git a/tools/cmgen/src/utilities.h b/libs/ibl/include/ibl/utilities.h similarity index 100% rename from tools/cmgen/src/utilities.h rename to libs/ibl/include/ibl/utilities.h diff --git a/tools/cmgen/src/Cubemap.cpp b/libs/ibl/src/Cubemap.cpp similarity index 99% rename from tools/cmgen/src/Cubemap.cpp rename to libs/ibl/src/Cubemap.cpp index cacdb8e3c8..97744f01a3 100644 --- a/tools/cmgen/src/Cubemap.cpp +++ b/libs/ibl/src/Cubemap.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "Cubemap.h" +#include using namespace filament::math; diff --git a/tools/cmgen/src/CubemapIBL.cpp b/libs/ibl/src/CubemapIBL.cpp similarity index 99% rename from tools/cmgen/src/CubemapIBL.cpp rename to libs/ibl/src/CubemapIBL.cpp index 02e7de1860..3e865ccbf3 100644 --- a/tools/cmgen/src/CubemapIBL.cpp +++ b/libs/ibl/src/CubemapIBL.cpp @@ -15,11 +15,11 @@ */ -#include "CubemapIBL.h" +#include -#include "Cubemap.h" -#include "CubemapUtils.h" -#include "utilities.h" +#include +#include +#include #include diff --git a/tools/cmgen/src/CubemapSH.cpp b/libs/ibl/src/CubemapSH.cpp similarity index 99% rename from tools/cmgen/src/CubemapSH.cpp rename to libs/ibl/src/CubemapSH.cpp index ce2571aa29..cd1102b7ca 100644 --- a/tools/cmgen/src/CubemapSH.cpp +++ b/libs/ibl/src/CubemapSH.cpp @@ -14,11 +14,11 @@ * limitations under the License. */ -#include "CubemapSH.h" +#include -#include "Cubemap.h" -#include "CubemapUtils.h" -#include "utilities.h" +#include +#include +#include #include diff --git a/tools/cmgen/src/CubemapUtils.cpp b/libs/ibl/src/CubemapUtils.cpp similarity index 99% rename from tools/cmgen/src/CubemapUtils.cpp rename to libs/ibl/src/CubemapUtils.cpp index e0a55a1a6a..b0bab782a9 100644 --- a/tools/cmgen/src/CubemapUtils.cpp +++ b/libs/ibl/src/CubemapUtils.cpp @@ -14,9 +14,9 @@ * limitations under the License. */ -#include "CubemapUtils.h" +#include -#include "utilities.h" +#include #include diff --git a/tools/cmgen/src/Image.cpp b/libs/ibl/src/Image.cpp similarity index 98% rename from tools/cmgen/src/Image.cpp rename to libs/ibl/src/Image.cpp index 960cfabd51..8968a87130 100644 --- a/tools/cmgen/src/Image.cpp +++ b/libs/ibl/src/Image.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#include "Image.h" +#include #include diff --git a/tools/cmgen/CMakeLists.txt b/tools/cmgen/CMakeLists.txt index 8cc16954ea..7c59c2f569 100644 --- a/tools/cmgen/CMakeLists.txt +++ b/tools/cmgen/CMakeLists.txt @@ -8,22 +8,11 @@ set(TARGET cmgen) # ================================================================================================== set(HDRS src/JobQueue.h - src/Cubemap.h - src/CubemapIBL.h - src/CubemapSH.h - src/CubemapUtils.h - src/Image.h src/ProgressUpdater.h - src/utilities.h ) set(SRCS src/cmgen.cpp - src/Cubemap.cpp - src/CubemapIBL.cpp - src/CubemapSH.cpp - src/CubemapUtils.cpp - src/Image.cpp src/JobQueue.cpp src/ProgressUpdater.cpp ) @@ -33,7 +22,7 @@ set(SRCS # ================================================================================================== add_executable(${TARGET} ${HDRS} ${SRCS}) -target_link_libraries(${TARGET} PRIVATE math utils z image imageio getopt) +target_link_libraries(${TARGET} PRIVATE math utils ibl z image imageio getopt) # ================================================================================================== # Compile options and optimizations diff --git a/tools/cmgen/src/cmgen.cpp b/tools/cmgen/src/cmgen.cpp index 9cc8d6077f..93cb284dc1 100644 --- a/tools/cmgen/src/cmgen.cpp +++ b/tools/cmgen/src/cmgen.cpp @@ -14,14 +14,14 @@ * limitations under the License. */ -#include "Cubemap.h" -#include "CubemapIBL.h" -#include "CubemapSH.h" -#include "CubemapUtils.h" #include "ProgressUpdater.h" -#include "Image.h" -#include "utilities.h" +#include +#include +#include +#include +#include +#include #include #include