Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Add CMake install target #16

@harens

Description

@harens

I understand that make install is not in the build instructions, and that install is not a required target, but I think it is a useful one to have. For instance:

  • A user might want to install CipheyCore to a local space
  • It makes it easier to write scripts for many package managers
  • Also easier to use the library after building from source
  • Running make install currently results in the error make: *** No rule to make target 'install'. Stop.

The issue for me was that the DESTDIR variable is used as part of MacPorts to provide a staged install process via make install DESTDIR=/tmp/example. It would be helpful if an install target could be added, although I'd also be grateful for any alternative methods.

Thanks for your help.

To reproduce error
macOS 10.15.6 19G73

xcode-select version 2373

git clone https://github.com/Ciphey/CipheyCore
cd CipheyCore
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCIPHEY_CORE_TEST=OFF
cmake --build . -t ciphey_core
make install
Output
cmake .. -DCMAKE_BUILD_TYPE=Release -DCIPHEY_CORE_TEST=OFF
-- The C compiler identification is AppleClang 11.0.3.11030032
-- The CXX compiler identification is AppleClang 11.0.3.11030032
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/local/lib/cmake/Boost-1.74.0/BoostConfig.cmake (found version "1.74.0")  
-- Found Python3: /opt/local/Library/Frameworks/Python.framework/Versions/3.9/include/python3.9 (found version "3.9.0") found components: Development Development.Module Development.Embed 
-- Found SWIG: /opt/local/bin/swig (found version "4.0.2")  
CMake Warning (dev) at /opt/local/share/cmake-3.18/Modules/UseSWIG.cmake:634 (message):
  Policy CMP0078 is not set: UseSWIG generates standard target names.  Run
  "cmake --help-policy CMP0078" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

Call Stack (most recent call first):
  CMakeLists.txt:55 (swig_add_library)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /opt/local/share/cmake-3.18/Modules/UseSWIG.cmake:486 (message):
  Policy CMP0086 is not set: UseSWIG honors SWIG_MODULE_NAME via -module
  flag.  Run "cmake --help-policy CMP0086" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  /opt/local/share/cmake-3.18/Modules/UseSWIG.cmake:736 (SWIG_ADD_SOURCE_TO_MODULE)
  CMakeLists.txt:55 (swig_add_library)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /Users/username/CipheyCore/build
cmake --build . -t ciphey_core
Scanning dependencies of target ciphey_core
[ 14%] Building CXX object CMakeFiles/ciphey_core.dir/src/ausearch.cpp.o
[ 28%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/caesar.cpp.o
[ 42%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/vigenere.cpp.o
[ 57%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/xor_single.cpp.o
[ 71%] Building CXX object CMakeFiles/ciphey_core.dir/src/ciphers/xorcrypt.cpp.o
[ 85%] Building CXX object CMakeFiles/ciphey_core.dir/src/freq.cpp.o
[100%] Linking CXX static library libciphey_core.a
[100%] Built target ciphey_core
make install (ERROR)
make: *** No rule to make target `install'.  Stop.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions