Home | History | Annotate | Download | only in utility
      1 # Copyright (c) 2014, Intel Corporation
      2 # All rights reserved.
      3 #
      4 # Redistribution and use in source and binary forms, with or without modification,
      5 # are permitted provided that the following conditions are met:
      6 #
      7 # 1. Redistributions of source code must retain the above copyright notice, this
      8 # list of conditions and the following disclaimer.
      9 #
     10 # 2. Redistributions in binary form must reproduce the above copyright notice,
     11 # this list of conditions and the following disclaimer in the documentation and/or
     12 # other materials provided with the distribution.
     13 #
     14 # 3. Neither the name of the copyright holder nor the names of its contributors
     15 # may be used to endorse or promote products derived from this software without
     16 # specific prior written permission.
     17 #
     18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
     19 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     20 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
     21 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
     22 # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
     23 # (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     24 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
     25 # ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     26 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     27 # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     28 
     29 if (WIN32)
     30     set(UTILITY_OS_SPECIFIC_FILES windows/DynamicLibrary.cpp)
     31 else ()
     32     set(UTILITY_OS_SPECIFIC_FILES posix/DynamicLibrary.cpp)
     33 endif ()
     34 
     35 add_library(pfw_utility STATIC
     36     ${UTILITY_OS_SPECIFIC_FILES}
     37     Tokenizer.cpp
     38     Utility.cpp
     39     DynamicLibrary.cpp)
     40 
     41 target_include_directories(pfw_utility PUBLIC .)
     42 
     43 # Needed for linking against shared libraries on Linux (no-op on Windows)
     44 set_target_properties(pfw_utility PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
     45 
     46 install(FILES
     47     NonCopyable.hpp
     48     ErrorContext.hpp
     49     Utility.h
     50     convert.hpp
     51     DESTINATION "include/utility")
     52 
     53 if(BUILD_TESTING)
     54     # Add unit test
     55     add_executable(utilityUnitTest test/utility.cpp)
     56 
     57     target_link_libraries(utilityUnitTest pfw_utility catch)
     58     add_test(NAME utilityUnitTest
     59              COMMAND utilityUnitTest)
     60 endif()
     61