Skip to content

Commit 2f6507d

Browse files
authored
build: update include directives for OpenImageIO_ROOT (#1997)
Adds directives to prioritize the includes from $OpenImageIO_ROOT in case there is an older (or newer!) system install of OpenImageIO. Without this, OSL might use the includes in /usr/include/OpenImageIO yet link to the libraries in OpenImageIO_ROOT thus producing namespace clashes. Signed-off-by: Clifford Stein <[email protected]>
1 parent 8bc38f4 commit 2f6507d

File tree

9 files changed

+19
-0
lines changed

9 files changed

+19
-0
lines changed

src/liboslcomp/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ target_link_libraries (${local_lib}
3030
${CMAKE_DL_LIBS}
3131
${CLANG_LIBRARIES} ${LLVM_LIBRARIES} ${LLVM_LDFLAGS}
3232
${LLVM_SYSTEM_LIBRARIES})
33+
target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDES})
3334

3435
# link with (system) library to prevent missing symbols inside clangDriver.lib
3536
if (MSVC)

src/liboslexec/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,9 @@ target_include_directories (${local_lib}
539539
"${CMAKE_SOURCE_DIR}/src/liboslcomp"
540540
${ROBINMAP_INCLUDES}
541541
)
542+
543+
target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDES})
544+
542545
target_compile_definitions (${local_lib}
543546
PRIVATE
544547
OSL_EXPORTS
@@ -607,16 +610,19 @@ install_targets (${local_lib})
607610
if (OSL_BUILD_TESTS AND BUILD_TESTING)
608611
add_executable (accum_test accum_test.cpp)
609612
target_link_libraries (accum_test PRIVATE oslexec ${CMAKE_DL_LIBS})
613+
target_include_directories (accum_test BEFORE PRIVATE ${OpenImageIO_INCLUDES})
610614
set_target_properties (accum_test PROPERTIES FOLDER "Unit Tests")
611615
add_test (unit_accum ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/accum_test)
612616

613617
add_executable (dual_test dual_test.cpp)
614618
target_link_libraries (dual_test PRIVATE OpenImageIO::OpenImageIO Imath::Imath ${CMAKE_DL_LIBS})
619+
target_include_directories (dual_test BEFORE PRIVATE ${OpenImageIO_INCLUDES})
615620
set_target_properties (dual_test PROPERTIES FOLDER "Unit Tests")
616621
add_test (unit_dual ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/dual_test)
617622

618623
add_executable (llvmutil_test llvmutil_test.cpp)
619624
target_link_libraries (llvmutil_test PRIVATE oslexec ${CMAKE_DL_LIBS})
625+
target_include_directories (llvmutil_test BEFORE PRIVATE ${OpenImageIO_INCLUDES})
620626
set_target_properties (llvmutil_test PROPERTIES FOLDER "Unit Tests")
621627
add_test (unit_llvmutil ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/llvmutil_test)
622628
endif ()

src/liboslnoise/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ target_include_directories (${local_lib}
1313
${CMAKE_INSTALL_FULL_INCLUDEDIR}
1414
PRIVATE
1515
../liboslexec)
16+
target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDES})
1617
target_link_libraries (${local_lib}
1718
PUBLIC
1819
OpenImageIO::OpenImageIO
@@ -45,6 +46,7 @@ install_targets (${local_lib})
4546
if (OSL_BUILD_TESTS AND BUILD_TESTING)
4647
add_executable (oslnoise_test oslnoise_test.cpp)
4748
set_target_properties (oslnoise_test PROPERTIES FOLDER "Unit Tests")
49+
target_include_directories (oslnoise_test BEFORE PRIVATE ${OpenImageIO_INCLUDES})
4850
target_link_libraries (oslnoise_test PRIVATE oslnoise)
4951
add_test (unit_oslnoise ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/oslnoise_test)
5052
endif()

src/liboslquery/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ target_link_libraries (${local_lib}
1818
PUBLIC
1919
OpenImageIO::OpenImageIO_Util
2020
)
21+
target_include_directories (${local_lib} BEFORE PRIVATE ${OpenImageIO_INCLUDES})
2122

2223
target_compile_features (${local_lib}
2324
INTERFACE cxx_std_${DOWNSTREAM_CXX_STANDARD})

src/oslc/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@ if (NOT BUILD_SHARED_LIBS)
1212
endif ()
1313

1414
add_executable ( oslc ${oslc_srcs} )
15+
target_include_directories ( oslc BEFORE PRIVATE ${OpenImageIO_INCLUDES})
1516
target_link_libraries ( oslc PRIVATE oslcomp ${CMAKE_DL_LIBS})
1617
install_targets (oslc)

src/oslinfo/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
set ( oslinfo_srcs oslinfo.cpp )
66
add_executable ( oslinfo ${oslinfo_srcs} )
7+
target_include_directories (oslinfo BEFORE PRIVATE ${OpenImageIO_INCLUDES})
78
target_link_libraries (oslinfo
89
PRIVATE oslquery)
910
install_targets (oslinfo)

src/osltoy/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ endif()
99
set (osltoy_srcs
1010
osltoymain.cpp osltoyapp.cpp codeeditor.cpp osltoyrenderer.cpp)
1111
add_executable (osltoy ${osltoy_srcs})
12+
target_include_directories (osltoy BEFORE PRIVATE ${OpenImageIO_INCLUDES})
1213
set_target_properties (osltoy PROPERTIES FOLDER "Tools")
1314
target_link_libraries (osltoy
1415
PRIVATE

src/testrender/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ endif ()
7777

7878
add_executable (testrender ${testrender_srcs})
7979

80+
target_include_directories (testrender BEFORE PRIVATE ${OpenImageIO_INCLUDES})
81+
8082
target_link_libraries (testrender
8183
PRIVATE
8284
oslexec oslquery oslcomp BSDL

src/testshade/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ EMBED_LLVM_BITCODE_IN_CPP ( "${rs_srcs}" "_host" "testshade_llvm_compiled_rs" te
7777

7878
add_executable ( testshade ${testshade_srcs} testshademain.cpp )
7979

80+
target_include_directories (testshade BEFORE PRIVATE ${OpenImageIO_INCLUDES})
81+
8082
target_link_libraries (testshade
8183
PRIVATE
8284
oslexec oslquery oslcomp)
@@ -107,12 +109,14 @@ if (NOT CODECOV)
107109
target_link_libraries (libtestshade
108110
PRIVATE
109111
oslexec oslquery oslcomp)
112+
target_include_directories (libtestshade BEFORE PRIVATE ${OpenImageIO_INCLUDES})
110113
set_target_properties (libtestshade PROPERTIES PREFIX "")
111114

112115
install_targets ( libtestshade )
113116

114117
# The 'testshade_dso' executable
115118
add_executable ( testshade_dso testshade_dso.cpp )
119+
target_include_directories (testshade_dso BEFORE PRIVATE ${OpenImageIO_INCLUDES})
116120
target_link_libraries (testshade_dso
117121
PRIVATE
118122
OpenImageIO::OpenImageIO

0 commit comments

Comments
 (0)