diff --git a/CMakeLists.txt b/CMakeLists.txt
index e4f3119..1f7f77c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,11 +4,13 @@ set(OCIO_VERSION_MINOR 1)
 set(OCIO_VERSION_PATCH 1)
 
 cmake_minimum_required(VERSION 2.8)
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/share/cmake)
+list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/share/cmake)
 if(NOT DEFINED CMAKE_FIRST_RUN)
     SET(CMAKE_FIRST_RUN 1 CACHE INTERNAL "")
 endif()
 
+set(CMAKE_CXX_STANDARD 11)
+
 ###############################################################################
 ### GLOBAL ###
 
@@ -142,11 +144,11 @@ endif(CMAKE_COMPILER_IS_GNUCXX)
 ###############################################################################
 ### Python ###
 
-OCIOFindPython()
+#OCIOFindPython()
 
 # Find Python, used for (possibly) building pyglue, and now to
 # construct the external project path
-set(EXTDIST_ROOT ${CMAKE_BINARY_DIR}/ext/dist)
+set(EXTDIST_ROOT ${PROJECT_BINARY_DIR}/ext/dist)
 set(EXTDIST_BINPATH ${EXTDIST_ROOT}/bin)
 if(PYTHON_OK)
     set(EXTDIST_PYTHONPATH ${EXTDIST_ROOT}/${PYTHON_VARIANT_PATH})
@@ -189,9 +191,9 @@ else(USE_EXTERNAL_TINYXML)
         set(TINYXML_CMAKE_ARGS ${TINYXML_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
     endif()
     set(TINYXML_CMAKE_ARGS ${TINYXML_CMAKE_ARGS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
-    set(TINYXML_ZIPFILE     "${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.tar.gz")
-    set(TINYXML_PATCHFILE   "${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch")
-    set(TINYXML_SOURCE_DIR  "${CMAKE_BINARY_DIR}/ext")
+    set(TINYXML_ZIPFILE     "${PROJECT_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.tar.gz")
+    set(TINYXML_PATCHFILE   "${PROJECT_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch")
+    set(TINYXML_SOURCE_DIR  "${PROJECT_BINARY_DIR}/ext")
     ## Create our TINYXML_LIB target
     if(CMAKE_VERSION VERSION_GREATER "2.8.7")
         option(TINYXML_OBJECT_LIB_EMBEDDED ${OCIO_BUILD_STATIC} "directly embedded tinyxml 3rdParty object lib into our resulting static lib, no link needed anymore")
@@ -204,6 +206,7 @@ else(USE_EXTERNAL_TINYXML)
         set(tinyxml_sources ${TINYXML_SOURCE_DIR}/tinyxml/tinystr.cpp       ${TINYXML_SOURCE_DIR}/tinyxml/tinyxml.cpp 
                             ${TINYXML_SOURCE_DIR}/tinyxml/tinyxmlerror.cpp  ${TINYXML_SOURCE_DIR}/tinyxml/tinyxmlparser.cpp )
         set(tinyxml_headers ${TINYXML_SOURCE_DIR}/tinyxml/tinystr.h         ${TINYXML_SOURCE_DIR}/tinyxml/tinyxml.h )
+        file(MAKE_DIRECTORY "${TINYXML_SOURCE_DIR}")
         add_custom_command(                                 ## will be done at build time
             OUTPUT ${tinyxml_sources} ${tinyxml_headers}    ## expected output files
             COMMAND ${CMAKE_COMMAND} -E tar xzf ${TINYXML_ZIPFILE}
@@ -248,124 +251,12 @@ endif(USE_EXTERNAL_TINYXML)
 ###############################################################################
 ### YAML ###
 
-if(USE_EXTERNAL_YAML)
-    # Set minimum yaml version for non-patched sources.
-    set(YAML_VERSION_MIN "0.3.0")
-    include(FindPkgConfig)
-    pkg_check_modules(PC_YAML_CPP REQUIRED QUIET yaml-cpp)
-    find_path(YAML_CPP_INCLUDE_DIR yaml-cpp/yaml.h
-        HINTS  ${PC_YAML_CPP_INCLUDEDIR} ${PC_YAML_CPP_INCLUDE_DIRS} )
-    find_library(YAML_CPP_LIBRARY LIBRARY_NAMES yaml-cpp libyaml-cpp
-        HINTS ${PC_YAML_CPP_LIBRARY_DIRS} )
-    set(YAML_CPP_LIBRARIES ${YAML_CPP_LIBRARY})
-    set(YAML_CPP_INCLUDE_DIRS ${YAML_CPP_INCLUDE_DIR})
-    set(YAML_CPP_VERSION ${PC_YAML_CPP_VERSION})
-
-    if(YAML_CPP_VERSION VERSION_LESS ${YAML_VERSION_MIN})
-        message(FATAL_ERROR "ERROR: yaml-cpp ${YAML_VERSION_MIN} or greater is required.")
-    endif()
-
-    find_package_handle_standard_args(yaml-cpp
-                                      REQUIRED_VARS YAML_CPP_LIBRARIES YAML_CPP_INCLUDE_DIRS )
-    set(YAML_CPP_FOUND ${YAML-CPP_FOUND})
-    mark_as_advanced(YAML_CPP_INCLUDE_DIR YAML_CPP_LIBRARY YAML-CPP_FOUND)
-
-    if(YAML_CPP_FOUND)
-        if(YAML_CPP_VERSION VERSION_GREATER "0.5.0")
-            # Need to also get the boost headers here, as yaml-cpp 0.5.0+ requires them.
-            # Don't bother doing this step if we are already including the boost headers for shared_ptr
-            if(NOT OCIO_USE_BOOST_PTR)
-                set(Boost_ADDITIONAL_VERSIONS "1.49" "1.45" "1.44" "1.43" "1.43.0" "1.42"
-                                              "1.42.0" "1.41" "1.41.0" "1.40"
-                                              "1.40.0" "1.39" "1.39.0" "1.38"
-                                              "1.38.0" "1.37" "1.37.0" "1.34.1"
-                                              "1_34_1")
-                set(Boost_USE_MULTITHREADED ON)
-                find_package(Boost 1.34)
-                if(NOT Boost_FOUND)
-                    message(FATAL_ERROR "Error: Detected system yaml-cpp version ${YAML_CPP_VERSION} is greater than 0.5.0, and therefore requires boost, but a boost installation could not be found.")
-                endif()
-
-                set(EXTERNAL_INCLUDE_DIRS ${EXTERNAL_INCLUDE_DIRS} ${Boost_INCLUDE_DIR})
-            endif()
-        endif()
-        set(EXTERNAL_INCLUDE_DIRS ${EXTERNAL_INCLUDE_DIRS} ${YAML_CPP_INCLUDE_DIRS})
-    else(YAML_CPP_FOUND)
-        message(FATAL_ERROR "ERROR: System yaml-cpp library was not found. Make sure the library is installed and the pkg-config file exists.")
-    endif(YAML_CPP_FOUND)
-else(USE_EXTERNAL_YAML) ## provide 2 ways to build this dependency
-    set(YAML_CPP_VERSION 0.3.0)
-    set(YAML_CPP_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/ext/dist -DYAML_CPP_BUILD_TOOLS:BOOL=FALSE -DOCIO_INLINES_HIDDEN:BOOL=${OCIO_INLINES_HIDDEN})
-    if(CMAKE_TOOLCHAIN_FILE)
-        set(YAML_CPP_CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
-    endif()
-    set(YAML_CPP_CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
-    set(YAML_CPP_ZIPFILE        "${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.tar.gz")
-    set(YAML_CPP_SOURCE_DIR     "${CMAKE_BINARY_DIR}/ext")
-    set(YAML_CPP_PATCHFILE      "${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch")
-    set(YAML_CPP_SRCLISTFILE    "${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}-sourcesList.txt") ## see cmd line for this generated file bellow
-    ## Create our YAML_CPP_LIB target
-    if(CMAKE_VERSION VERSION_GREATER "2.8.7")
-        option(YAML_CPP_OBJECT_LIB_EMBEDDED ${OCIO_BUILD_STATIC} "directly embedded yaml-cpp 3rdParty lib into our resulting static lib, no link needed anymore")
-    else()
-        set(YAML_CPP_OBJECT_LIB_EMBEDDED OFF CACHE BOOL "directly embedded yaml-cpp 3rdParty object lib into our resulting static lib, no link needed anymore" FORCE)
-        message("Force disable YAML_CPP_OBJECT_LIB_EMBEDDED feature due to CMake Version less than 2.8.8")
-    endif()
-    mark_as_advanced(YAML_CPP_OBJECT_LIB_EMBEDDED)
-    if(YAML_CPP_OBJECT_LIB_EMBEDDED)        
-        ## generated at extraction level dir, with (use git bash or cygwin under windows): 
-        ## find yaml-cpp -type f \( -name "*.h" -o -name "*.cpp" \) -not \( -path "*/test/*" -o -path "*/util/*" \) > yaml-cpp-sourcesList.txt
-        ## this will exclude test and util paths since we want YAML_CPP_BUILD_TOOLS:BOOL=OFF (see externalProject cmake args)
-        file(STRINGS ${YAML_CPP_SRCLISTFILE} YAML_CPP_SRCLISTFILE_CONTENT)
-        foreach(yamlsrc ${YAML_CPP_SRCLISTFILE_CONTENT})
-            list(APPEND yamlcpp_sources ${YAML_CPP_SOURCE_DIR}/${yamlsrc})  ## get absolute filepath
-        endforeach()
-        include_directories(BEFORE ${YAML_CPP_SOURCE_DIR}/yaml-cpp/include) ## needed to build correctly
-        add_custom_command(             ## will be done at build time
-            OUTPUT ${yamlcpp_sources}   ## expected output files
-            COMMAND ${CMAKE_COMMAND} -E tar xzf ${YAML_CPP_ZIPFILE}
-            DEPENDS ${YAML_CPP_ZIPFILE}
-            WORKING_DIRECTORY ${YAML_CPP_SOURCE_DIR}
-            COMMENT "Unpacking ${YAML_CPP_ZIPFILE} to ${YAML_CPP_SOURCE_DIR}"
-            VERBATIM
-        )
-        add_library(YAML_CPP_LIB OBJECT ${yamlcpp_sources})
-        ## embedded yaml-cpp objects files (no static link needed anymore)
-        ## => great news when build statically since we do not want another client project have to link also with yaml-cpp when he want to use this project
-        ## => could be problematic if the client project use another version of yaml-cpp... In this case build yaml-cpp as shared lib with all projects could be a solution 
-        ## => TODO: so maybe provide a simple cmake way to build 3rdParty as shared and auto install with this project ?
-        list(APPEND EXTERNAL_OBJECTS $<TARGET_OBJECTS:YAML_CPP_LIB>) 
-    else()
-        find_package(Git REQUIRED) ## in order to apply patch (for crossplateform compatibility)
-        ExternalProject_Add(YAML_CPP_LOCAL
-            URL             ${YAML_CPP_ZIPFILE}
-            SOURCE_DIR      ${YAML_CPP_SOURCE_DIR}/yaml-cpp
-            PATCH_COMMAND   ${GIT_EXECUTABLE} apply --ignore-whitespace ${YAML_CPP_PATCHFILE}
-            BINARY_DIR      ext/build/yaml-cpp
-            INSTALL_DIR     ext/dist
-            CMAKE_ARGS      ${YAML_CPP_CMAKE_ARGS}
-        )
-        set(YAML_CPP_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/ext/dist/include)
-        set(YAML_CPP_LIBRARY_DIRS ${PROJECT_BINARY_DIR}/ext/dist/lib)
-        add_library(YAML_CPP_LIB STATIC IMPORTED)
-        if(WIN32)
-            set(YAML_CPP_STATIC_DEBUG_LIBRARIES     ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmdd.lib)
-            set(YAML_CPP_STATIC_OPTIMIZED_LIBRARIES ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cppmd.lib)
-            set_property(TARGET YAML_CPP_LIB PROPERTY IMPORTED_LOCATION_DEBUG   ${YAML_CPP_STATIC_DEBUG_LIBRARIES})
-            set_property(TARGET YAML_CPP_LIB PROPERTY IMPORTED_LOCATION_RELEASE ${YAML_CPP_STATIC_OPTIMIZED_LIBRARIES})
-        else()
-            set(YAML_CPP_STATIC_GENERAL_LIBRARIES           ${PROJECT_BINARY_DIR}/ext/dist/lib/libyaml-cpp.a)
-            set_property(TARGET YAML_CPP_LIB PROPERTY IMPORTED_LOCATION ${YAML_CPP_STATIC_GENERAL_LIBRARIES})
-        endif()
-        add_dependencies(YAML_CPP_LIB  YAML_CPP_LOCAL)
-        list(APPEND EXTERNAL_LIBRARIES YAML_CPP_LIB)
-    endif()
-    set_target_properties(YAML_CPP_LIB PROPERTIES FOLDER External)
-endif(USE_EXTERNAL_YAML)
+find_package(yaml-cpp)
 
-if(YAML_CPP_VERSION VERSION_LESS "0.5.0")
-    set(YAML_CPP_COMPILE_FLAGS "-DOLDYAML")
-endif()
+set(YAML_CPP_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_YAML-CPP}")
+set(YAML_CPP_LIBRARIES yaml-cpp::yaml-cpp)
+set(YAML_CPP_VERSION "${yaml-cpp_VERSION}")
+list(APPEND EXTERNAL_LIBRARIES ${YAML_CPP_LIBRARIES})
 
 ###############################################################################
 ### Externals ###
@@ -528,7 +419,7 @@ endif()
 
 ###############################################################################
 ### Configure env script ###
-configure_file(${CMAKE_SOURCE_DIR}/share/ocio/setup_ocio.sh.in
+configure_file(${PROJECT_SOURCE_DIR}/share/ocio/setup_ocio.sh.in
     ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/setup_ocio.sh @ONLY)
 
 INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/setup_ocio.sh DESTINATION share/ocio/)
@@ -597,7 +488,7 @@ if(TARGET OpenColorIO_STATIC)
     endif()
 endif()
 install(EXPORT OpenColorIO DESTINATION cmake)
-file(WRITE "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake"
+file(WRITE "${PROJECT_BINARY_DIR}/OpenColorIOConfig.cmake"
     "
     get_filename_component(OpenColorIO_DIR \"\${CMAKE_CURRENT_LIST_FILE}\" PATH)
     
@@ -646,4 +537,4 @@ file(WRITE "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake"
     message(STATUS OPENCOLORIO_FOUND=\${OPENCOLORIO_FOUND})
     "
 )
-install(FILES "${CMAKE_BINARY_DIR}/OpenColorIOConfig.cmake" DESTINATION .)
+install(FILES "${PROJECT_BINARY_DIR}/OpenColorIOConfig.cmake" DESTINATION .)
diff --git a/share/cmake/OCIOMacros.cmake b/share/cmake/OCIOMacros.cmake
index b9fb239..b1a206e 100644
--- a/share/cmake/OCIOMacros.cmake
+++ b/share/cmake/OCIOMacros.cmake
@@ -356,9 +356,9 @@ ENDMACRO()
 
 MACRO(ExtractRstCPP INFILE OUTFILE)
    add_custom_command(
-      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+      WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
       OUTPUT ${OUTFILE}
-      COMMAND ${PYTHON} ${CMAKE_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceCPP.py ${INFILE} ${OUTFILE}
+      COMMAND ${PYTHON} ${PROJECT_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceCPP.py ${INFILE} ${OUTFILE}
       DEPENDS ${INFILE}
       COMMENT "Extracting reStructuredText from ${INFILE} (using old process)"
    )
@@ -366,9 +366,9 @@ ENDMACRO()
 
 MACRO(ExtractRstSimple INFILE OUTFILE)
    add_custom_command(
-      WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+      WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
       OUTPUT ${OUTFILE}
-      COMMAND ${PYTHON} ${CMAKE_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceSimple.py ${INFILE} ${OUTFILE}
+      COMMAND ${PYTHON} ${PROJECT_SOURCE_DIR}/share/sphinx/ExtractRstFromSourceSimple.py ${INFILE} ${OUTFILE}
       DEPENDS ${INFILE}
       COMMENT "Extracting reStructuredText from ${INFILE}"
    )
diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt
index d31b4e3..efebda6 100644
--- a/src/apps/ociobakelut/CMakeLists.txt
+++ b/src/apps/ociobakelut/CMakeLists.txt
@@ -1,6 +1,10 @@
 # LCMS
-include(FindPkgConfig FindPackageMessage)
-pkg_check_modules(LCMS QUIET lcms2)
+find_package(lcms)
+set(LCMS_FOUND ${lcms_FOUND})
+set(LCMS_VERSION ${lcms_VERSION})
+set(LCMS_LIBRARIES ${lcms_LIBRARIES})
+set(LCMS_INCLUDE_DIR ${lcms_INCLUDE_DIR})
+
 if(LCMS_FOUND AND (LCMS_VERSION VERSION_EQUAL 2.1 OR LCMS_VERSION VERSION_GREATER 2.1))
     FIND_PACKAGE_MESSAGE(LCMS "Found lcms: ${LCMS_LIBRARIES}"
         "${LCMS_INCLUDE_DIR}")
@@ -15,12 +19,12 @@ else()
     if(CMAKE_TOOLCHAIN_FILE)
         set(LCMS_CMAKE_ARGS ${LCMS_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
     endif()
-    set(LCMS_INSTALL_DIR ${CMAKE_BINARY_DIR}/ext/dist)
+    set(LCMS_INSTALL_DIR ${PROJECT_BINARY_DIR}/ext/dist)
     ExternalProject_Add(LCMS
-        PREFIX         ${CMAKE_BINARY_DIR}/lcms2-prefix
-        URL            ${CMAKE_SOURCE_DIR}/ext/lcms2-${LCMS_VERSION}.tar.gz
-        PATCH_COMMAND  ${GIT_EXECUTABLE} apply ${CMAKE_SOURCE_DIR}/ext/lcms2-${LCMS_VERSION}.patch
-        BINARY_DIR     ${CMAKE_BINARY_DIR}/ext/build/lcms2
+        PREFIX         ${PROJECT_BINARY_DIR}/lcms2-prefix
+        URL            ${PROJECT_SOURCE_DIR}/ext/lcms2-${LCMS_VERSION}.tar.gz
+        PATCH_COMMAND  ${GIT_EXECUTABLE} apply ${PROJECT_SOURCE_DIR}/ext/lcms2-${LCMS_VERSION}.patch
+        BINARY_DIR     ${PROJECT_BINARY_DIR}/ext/build/lcms2
         INSTALL_DIR    ${LCMS_INSTALL_DIR}
         CMAKE_ARGS     ${LCMS_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${LCMS_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
     )
@@ -29,12 +33,12 @@ else()
     set(LCMS_LIBRARIES 		${PROJECT_BINARY_DIR}/ext/dist/lib/${CMAKE_STATIC_LIBRARY_PREFIX}lcms2${CMAKE_STATIC_LIBRARY_SUFFIX})
 endif()
 
-file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp")
+file(GLOB_RECURSE share_src_files "${PROJECT_SOURCE_DIR}/src/apps/share/*.cpp")
 
 include_directories(
-    ${CMAKE_SOURCE_DIR}/export/
-    ${CMAKE_BINARY_DIR}/export/
-    ${CMAKE_SOURCE_DIR}/src/apps/share/
+    ${PROJECT_SOURCE_DIR}/export/
+    ${PROJECT_BINARY_DIR}/export/
+    ${PROJECT_SOURCE_DIR}/src/apps/share/
     ${LCMS_INCLUDE_DIRS}
     ${Boost_INCLUDE_DIR}
 )
diff --git a/src/apps/ociocheck/CMakeLists.txt b/src/apps/ociocheck/CMakeLists.txt
index 4955f4d..14b5017 100644
--- a/src/apps/ociocheck/CMakeLists.txt
+++ b/src/apps/ociocheck/CMakeLists.txt
@@ -1,9 +1,9 @@
-file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp")
+file(GLOB_RECURSE share_src_files "${PROJECT_SOURCE_DIR}/src/apps/share/*.cpp")
 
 include_directories(
-    ${CMAKE_SOURCE_DIR}/export/
-    ${CMAKE_BINARY_DIR}/export/
-    ${CMAKE_SOURCE_DIR}/src/apps/share/
+    ${PROJECT_SOURCE_DIR}/export/
+    ${PROJECT_BINARY_DIR}/export/
+    ${PROJECT_SOURCE_DIR}/src/apps/share/
     ${Boost_INCLUDE_DIR}
     )
 
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 1eb691b..a2f099a 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -2,29 +2,29 @@
 ### OCIO CORE ###
 
 include_directories(
-    ${CMAKE_SOURCE_DIR}/export/
-    ${CMAKE_BINARY_DIR}/export/
-    ${CMAKE_SOURCE_DIR}/ext/oiio/src/include
+    ${PROJECT_SOURCE_DIR}/export/
+    ${PROJECT_BINARY_DIR}/export/
+    ${PROJECT_SOURCE_DIR}/ext/oiio/src/include
     ${EXTERNAL_INCLUDE_DIRS}
 )
 
-file(GLOB_RECURSE core_src_files "${CMAKE_SOURCE_DIR}/src/core/*.cpp")
-file(GLOB_RECURSE core_export_headers "${CMAKE_SOURCE_DIR}/export/OpenColorIO/*.h")
+file(GLOB_RECURSE core_src_files "${PROJECT_SOURCE_DIR}/src/core/*.cpp")
+file(GLOB_RECURSE core_export_headers "${PROJECT_SOURCE_DIR}/export/OpenColorIO/*.h")
 
 message(STATUS "Create OpenColorABI.h from OpenColorABI.h.in")
-configure_file(${CMAKE_SOURCE_DIR}/export/OpenColorIO/OpenColorABI.h.in
-    ${CMAKE_BINARY_DIR}/export/OpenColorABI.h @ONLY)
-list(APPEND core_export_headers ${CMAKE_BINARY_DIR}/export/OpenColorABI.h)
+configure_file(${PROJECT_SOURCE_DIR}/export/OpenColorIO/OpenColorABI.h.in
+    ${PROJECT_BINARY_DIR}/export/OpenColorABI.h @ONLY)
+list(APPEND core_export_headers ${PROJECT_BINARY_DIR}/export/OpenColorABI.h)
 
 # Process all warnings as errors
 
 if(WIN32)
     # On debug mode there are other kinds of warning...
     if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
-        set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} /WX")
+        # set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} /WX")
     endif()
 else()
-    set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} -Werror")
+    # set(EXTERNAL_COMPILE_FLAGS "${EXTERNAL_COMPILE_FLAGS} -Werror")
 endif()
 
 # SHARED
@@ -75,7 +75,7 @@ endif()
 # STATIC
 
 if(OCIO_BUILD_STATIC)
-    list(REMOVE_ITEM core_src_files ${CMAKE_SOURCE_DIR}/src/core/UnitTest.cpp)
+    list(REMOVE_ITEM core_src_files ${PROJECT_SOURCE_DIR}/src/core/UnitTest.cpp)
     add_library(OpenColorIO_STATIC STATIC ${EXTERNAL_OBJECTS} ${core_src_files})
     add_dependencies(OpenColorIO_STATIC TINYXML_LIB YAML_CPP_LIB)
     if(EXTERNAL_LIBRARIES)
@@ -113,7 +113,7 @@ install(FILES ${core_export_headers}
 
 # pkg-config
 message(STATUS "Create OpenColorIO.pc from OpenColorIO.pc.in")
-configure_file(${CMAKE_SOURCE_DIR}/export/pkgconfig/OpenColorIO.pc.in
+configure_file(${PROJECT_SOURCE_DIR}/export/pkgconfig/OpenColorIO.pc.in
     ${CMAKE_CURRENT_BINARY_DIR}/OpenColorIO.pc @ONLY)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/OpenColorIO.pc
     DESTINATION ${CMAKE_INSTALL_EXEC_PREFIX}/lib${LIB_SUFFIX}/pkgconfig/)
