diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..5ec3d9b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,69 @@ +# yue.nicholas@gmail.com + +cmake_minimum_required(VERSION 3.12) + +project(PRT-IO-Library) + +# We can place facility-specific Find.cmake files in this subdirectory. Mostly used +# to specify package locations on Windows builds since there isn't a known place to look. +# set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/Modules/") + +if(USE_HOUDINI) + find_package(HDK REQUIRED) + include_directories(${HDK_INCLUDE_DIR}) + link_directories($ENV{HFS}/custom/houdini/dsolib) +else() + find_package(IlmBase REQUIRED CONFIG) + find_package(ZLIB) +endif() + +include_directories(.) +# INCLUDE_DIRECTORIES ( ${ILMBASE_INCLUDE_DIRS} ) +# INCLUDE_DIRECTORIES ( ${ZLIB_INCLUDE_DIRS} ) + +if(USE_HOUDINI) + if(MSVC) + set(ZLIB_LIBRARY zdll) + else() + set(ZLIB_LIBRARY z) + endif() + set(REQUIRED_LINK_LIBRARIES + Half + ${ZLIB_LIBRARY} + ) +else() + set(REQUIRED_LINK_LIBRARIES + IlmBase::IlmBaseConfig + IlmBase::Half + ${ZLIB_LIBRARY} + ) +endif() + +if ( MSVC ) + if(USE_HOUDINI) + add_definitions(-DHALF_EXPORTS -DOPENEXR_DLL) + endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /Zi") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG") +endif() + +add_executable(example example.cpp) +target_link_libraries(example + ${REQUIRED_LINK_LIBRARIES} +) + +add_executable(example_layout example_layout.cpp) +target_link_libraries(example_layout + ${REQUIRED_LINK_LIBRARIES} +) + +add_executable(example_metadata example_metadata.cpp) +target_link_libraries(example_metadata + ${REQUIRED_LINK_LIBRARIES} +) + +install(DIRECTORY + prtio + DESTINATION + include +) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt deleted file mode 100644 index 3f6c87b..0000000 --- a/cmake/CMakeLists.txt +++ /dev/null @@ -1,45 +0,0 @@ -# yue.nicholas@gmail.com - -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - -PROJECT ( PRT-IO-Library ) - -# We can place facility-specific Find.cmake files in this subdirectory. Mostly used -# to specify package locations on Windows builds since there isn't a known place to look. -SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/Modules/") - -FIND_PACKAGE ( ILMBase ) -FIND_PACKAGE ( ZLIB ) - -INCLUDE_DIRECTORIES ( ../ ) -INCLUDE_DIRECTORIES ( ${ILMBASE_INCLUDE_DIRS} ) -INCLUDE_DIRECTORIES ( ${ZLIB_INCLUDE_DIRS} ) - -if ( MSVC ) - SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /Zi") - SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG") -endif() - -ADD_EXECUTABLE ( example ../example.cpp ) -TARGET_LINK_LIBRARIES ( example - ${Ilmbase_HALF_LIBRARY} - ${ZLIB_LIBRARY} -) - -ADD_EXECUTABLE ( example_layout ../example_layout.cpp ) -TARGET_LINK_LIBRARIES ( example_layout - ${Ilmbase_HALF_LIBRARY} - ${ZLIB_LIBRARY} -) - -ADD_EXECUTABLE ( example_metadata ../example_metadata.cpp ) -TARGET_LINK_LIBRARIES ( example_metadata - ${Ilmbase_HALF_LIBRARY} - ${ZLIB_LIBRARY} -) - -INSTALL ( DIRECTORY - ../prtio - DESTINATION - ./include -) diff --git a/cmake/Modules/README.txt b/cmake/Modules/README.txt deleted file mode 100644 index 44d1d78..0000000 --- a/cmake/Modules/README.txt +++ /dev/null @@ -1,5 +0,0 @@ -In this folder you need to put: -* FindILMBase.cmake -* FindZLIB.cmake - -If you don't have built in support for these packages (ex. on Windows). \ No newline at end of file