Setting OIIO_NAMESPACE


Jeff Clifford <j...@...>
 

Hi,

When building the apps that come with OpenColorIO I hit the following errors (under gcc):

[EE] /user_data/ARCHIVE/imageworks-OpenColorIO-de86248/src/apps/ocioconvert/main.cpp:37: error: 'OIIO_NAMESPACE' is not a namespace-name

which is fair enough as indeed I haven't defined it.

Is there a proper way to do this with OpenColorIO - the only way I've managed to set it is by appending

     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOIIO_NAMESPACE=OpenImageIO -Wall -Wextra -Wshadow -Wconversion -Wcast-qual -Wformat=2")

it into CMakeLists.txt

I would have thought that this define should be set as the default unless overridden by the user with something like

set(OIIO_NAMESPACE "OpenImageIO")

But that has no affect.

Thanks,

Jeff.

P.S.  Trying to set the define on the command line doesn't work either - i.e. with CMAKE_CXX_FLAGS="-DOIIO_NAMESPACE=OpenImageIO"

I end up with this entry in CMakeCache.txt:

CMAKE_CXX_FLAGS=-DOIIO_NAMESPACE:UNINITIALIZED=OpenImageIO

rather than it being added to

CMAKE_CXX_FLAGS:STRING=

- I think this is more my lack of understanding of adding definitions to cmake correctly!


Malcolm Humphreys <malcolmh...@...>
 

Hi Jeff,

This gets set line 69 in the main CMakeList.txt file to 'OpenColorIO' if the cmake var OCIO_NAMESPACE is not set.

--snip--
# Set the default namespace
if(NOT OCIO_NAMESPACE)
  set(OCIO_NAMESPACE OpenColorIO CACHE STRING
      "Specify the master OCIO C++ namespace: Options include OpenColorIO OpenColorIO_<YOURFACILITY> etc."
      FORCE)
endif(NOT OCIO_NAMESPACE)
messageonce("Setting Namespace to: ${OCIO_NAMESPACE}")
--snip--

Have you tried from a clean build dir? cmake sometimes has problems if something went wrong on a previous run When it does work you should be able to control this like so 'cmake -DOCIO_NAMESPACE=OCIODNEG ...' flag.

Also which version of cmake are you using? and during the cmake run what does ''Setting Namespace to: XXX" say.

.malcolm

On 10 Dec, 2011,at 03:11 AM, Jeff Clifford <...@...> wrote:

Hi,

When building the apps that come with OpenColorIO I hit the following errors (under gcc):

[EE] /user_data/ARCHIVE/imageworks-OpenColorIO-de86248/src/apps/ocioconvert/main.cpp:37: error: 'OIIO_NAMESPACE' is not a namespace-name

which is fair enough as indeed I haven't defined it.

Is there a proper way to do this with OpenColorIO - the only way I've managed to set it is by appending

     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOIIO_NAMESPACE=OpenImageIO -Wall -Wextra -Wshadow -Wconversion -Wcast-qual -Wformat=2")

it into CMakeListstxt

I would have thought that this define should be set as the default unless overridden by the user with something like

set(OIIO_NAMESPACE "OpenImageIO")

But that has no affect.

Thanks,

Jeff.

P.S.  Trying to set the define on the command line doesn't work either - i.e. with CMAKE_CXX_FLAGS="-DOIIO_NAMESPACE=OpenImageIO"

I end up with this entry in CMakeCache.txt:

CMAKE_CXX_FLAGS=-DOIIO_NAMESPACE:UNINITIALIZED=OpenImageIO

rather than it being added to

CMAKE_CXX_FLAGS:STRING=

- I think this is more my lack of understanding of adding definitions to cmake correctly!


Jeff Clifford <j...@...>
 

Hi,

It's not setting OCIO_NAMESPACE that is the problem.

It's the need to set OIIO_NAMESPACE - i.e. the OpenImageIO requirement for the apps.  Is there a way to set that - I've tried setting it but it doesn't seem to get passed on.

Thanks,

Jeff.

Malcolm Humphreys wrote:

Hi Jeff,

This gets set line 69 in the main CMakeList.txt file to 'OpenColorIO' if the cmake var OCIO_NAMESPACE is not set.

--snip--
# Set the default namespace
if(NOT OCIO_NAMESPACE)
  set(OCIO_NAMESPACE OpenColorIO CACHE STRING
      "Specify the master OCIO C++ namespace: Options include OpenColorIO OpenColorIO_<YOURFACILITY> etc."
      FORCE)
endif(NOT OCIO_NAMESPACE)
messageonce("Setting Namespace to: ${OCIO_NAMESPACE}")
--snip--

Have you tried from a clean build dir? cmake sometimes has problems if something went wrong on a previous run When it does work you should be able to control this like so 'cmake -DOCIO_NAMESPACE=OCIODNEG ...' flag.

Also which version of cmake are you using? and during the cmake run what does ''Setting Namespace to: XXX" say.

.malcolm

On 10 Dec, 2011,at 03:11 AM, Jeff Clifford <...@...> wrote:

Hi,

When building the apps that come with OpenColorIO I hit the following errors (under gcc):

[EE] /user_data/ARCHIVE/imageworks-OpenColorIO-de86248/src/apps/ocioconvert/main.cpp:37: error: 'OIIO_NAMESPACE' is not a namespace-name

which is fair enough as indeed I haven't defined it.

Is there a proper way to do this with OpenColorIO - the only way I've managed to set it is by appending

     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOIIO_NAMESPACE=OpenImageIO -Wall -Wextra -Wshadow -Wconversion -Wcast-qual -Wformat=2")

it into CMakeListstxt

I would have thought that this define should be set as the default unless overridden by the user with something like

set(OIIO_NAMESPACE "OpenImageIO")

But that has no affect.

Thanks,

Jeff.

P.S.  Trying to set the define on the command line doesn't work either - i.e. with CMAKE_CXX_FLAGS="-DOIIO_NAMESPACE=OpenImageIO"

I end up with this entry in CMakeCache.txt:

CMAKE_CXX_FLAGS=-DOIIO_NAMESPACE:UNINITIALIZED=OpenImageIO

rather than it being added to

CMAKE_CXX_FLAGS:STRING=

- I think this is more my lack of understanding of adding definitions to cmake correctly!