summaryrefslogtreecommitdiff
path: root/share/cmake/FindNuke.cmake
blob: 79320b1f91862609bf512ef1246912b5cd96f0ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#==========
#
# Copyright (c) 2010, Dan Bethell.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in the
#       documentation and/or other materials provided with the distribution.
#
#     * Neither the name of Dan Bethell nor the names of any
#       other contributors to this software may be used to endorse or
#       promote products derived from this software without specific prior
#       written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
#==========
#
# Variables defined by this module:
#   Nuke_FOUND    
#   Nuke_INCLUDE_DIR
#   Nuke_COMPILE_FLAGS
#   Nuke_LINK_FLAGS
#   Nuke_LIBRARIES
#   Nuke_LIBRARY_DIR
#
# Usage: 
#   FIND_PACKAGE( Nuke )
#   FIND_PACKAGE( Nuke REQUIRED )
#
# Note:
# You can tell the module where Nuke is installed by setting
# the NUKE_INSTALL_PATH (or setting the NDK_PATH environment
# variable before calling FIND_PACKAGE.
# 
# E.g. 
#   SET( NUKE_INSTALL_PATH "/usr/local/Nuke5.2v3" )
#   FIND_PACKAGE( Nuke REQUIRED )
#
#==========

# our includes
FIND_PATH( Nuke_INCLUDE_DIR DDImage/Op.h
  $ENV{NDK_PATH}/include
  ${NUKE_INSTALL_PATH}/include
  )

# our library
FIND_LIBRARY( Nuke_LIBRARIES DDImage
  $ENV{NDK_PATH}
  ${NUKE_INSTALL_PATH}
  )

SET( Nuke_COMPILE_FLAGS "" )
SET( Nuke_LINK_FLAGS "" )
IF( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
    SET( Nuke_COMPILE_FLAGS "-arch i386" )
    SET( Nuke_LINK_FLAGS "-arch i386" )
ENDIF( ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )

# our library path
GET_FILENAME_COMPONENT( Nuke_LIBRARY_DIR ${Nuke_LIBRARIES} PATH )

# did we find everything?
INCLUDE( FindPackageHandleStandardArgs )
FIND_PACKAGE_HANDLE_STANDARD_ARGS( "Nuke" DEFAULT_MSG
  Nuke_INCLUDE_DIR
  Nuke_LIBRARIES
  Nuke_LIBRARY_DIR
  )

SET( Nuke_API_VERSION "" )
IF( NUKE_FOUND )
  TRY_RUN(NUKE_VERSION_EXITCODE NUKE_VERSION_COMPILED
    ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}/TestForDDImageVersion.cxx
    COMPILE_DEFINITIONS "-I${Nuke_INCLUDE_DIR}"
    RUN_OUTPUT_VARIABLE Nuke_API_VERSION)
  message(STATUS "Nuke_API_VERSION: --${Nuke_API_VERSION}--")
ENDIF()