CMake does not find ZyppCommon when configuring Zypper - cmake

I've already compiled and installed libzypp, but when I want to compile zypper then Cmake returns an error:
CMake Error at CMakeLists.txt:11 (INCLUDE):
INCLUDE could not find load file:
ZyppCommon
CMake Error at CMakeLists.txt:24 (GENERATE_PACKAGING):
Unknown CMake command "GENERATE_PACKAGING".
-- Configuring incomplete, errors occurred!
See also "/home/origincode/zypper/CMakeFiles/CMakeOutput.log".
Environment
My OS: Fedora 26
gcc version:7.1.1
cmake version:3.9.1

The reason is, that CMake does not find the file ZyppCommon.cmake which contains the definition of the macro GENERATE_PACKAGING. The file is part of libzypp (located in cmake/modules/ZyppCommon.cmake).
You have three options:
Install libzypp, then zypper's CMake will find the file.
You have to include the path to the file to the CMake prefix path.
If you use some Suse / openSuse dritribution, installing libzypp-devel does install the required file.
If you have it installed, maybe you have to clear the CMake cache.

Related

cmake echoes an empty CMAKE_CURRENT_SOURCE_DIR

I am using cmake with Clion which has version:
> /snap/clion/189/bin/cmake/linux/bin/cmake --version
cmake version 3.22.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
When configuring my cmake project with this version I get following error:
CMake Error at test/CMakeLists.txt:6 (find_program):
Could not find TEST_WITH_DATA using the following names:
-- Configuring incomplete, errors occurred!
Line 6:
find_program(TEST_WITH_DATA REQUIRED "test_with_data.sh" PATHS "${CMAKE_CURRENT_SOURCE_DIR}")
I really cannot see what the problem is here?
with cmake version 3.16.3 it does work!

Errors during installing Geant4 in CentOS7

I'm trying to install Geant4 (version is 4.10.07.p01) and I got error refering to expat library priorities. I find a similar problem here Geant4 does not find Expat library and I followed the advice given. Since it's the first time I get into non-Windows OS, it is hard for me to understand some things. I changed the value to OFF but now I get the errors:
CMake Error at analysis/g4tools/CMakeLists.txt:36 (install):
install FILES given no DESTINATION
#but there is no CMakeLists.txt file in analysis/g4tools
CMake Error at analysis/CMakeLists.txt:36 (include):
include could not find load file:
Geant4MacroLibraryTargets
#but there is no CMakeLists.txt file in analysis
CMake Error at analysis/CMakeLists.txt:51 (GEANT_GLOBAL_LIBRARY_TARGET):
Unknown CMake command "GEANT4_GLOBAL_LIBRARY_TARGET"
#but there is no CMakeLists.txt file in analysis
Any help is welcome

How to set CMake variable to include directory

When trying to build this library with Cmake from the Developer Command Prompt for VS, I get this error
CMake Error at cmake/FindEigen.cmake:77 (MESSAGE):
Failed to find Eigen - Could not find eigen3 include directory, set
EIGEN_INCLUDE_DIR to path to eigen3 include directory, e.g.
/usr/local/include/eigen3.
I'd like find out what was intended of me here: am I to set EIGEN_INCLUDE_DIR with a command line argument or by editing the make file?
I've tried cmake -D EIGEN_INGLUDE_DIR=C:\Users\a\Downloads\eigen-3.3.7\eigen-3.3.7 . but received the same error.
cmake -D EIGEN_INGLUDE_DIR=C:\Users\a\Downloads\eigen-3.3.7\eigen-3.3.7 . failed without creating any files (cmake .. at least started building) and gave me this error
CMake Error: The source "C:/Users/a/Downloads/RpolyPlusPlus-master/RpolyPlusPlus-master/build/CMakeLists.txt" does not match the source "C:/Users/a/Downloads/RpolyPlusPlus-master/RpolyPlusPlus-master/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.
So I just ended up adding this to the .cmake file:
# TODO: Add standard Windows search locations for Eigen.
LIST(APPEND EIGEN_CHECK_INCLUDE_DIRS
/usr/local/include
/usr/local/homebrew/include # Mac OS X
/opt/local/var/macports/software # Mac OS X.
/opt/local/include
/usr/include
C:\\Users\\a\\Downloads\\eigen-3.3.7) <---------------------------------------

CMake compiler in path not being found

I'm attempting to compile a program using cmake that gives me the following error(s):
CMake Error at /.../3dg.cmake:8 (enable_language):
The CMAKE_CXX_COMPILER:
CC
is not a full path and was not found in the PATH.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
CMakeLists.txt:8 (include)
CMake Error at /.../3dg.cmake:8 (enable_language):
The CMAKE_C_COMPILER:
cc
is not a full path and was not found in the PATH.
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.
I am setting both of these variables in my cmake file with:
set(CMAKE_C_COMPILER cc)
set(CMAKE_CXX_COMPILER CC)
Moreover, I can confirm that both of them are in my path and at the correct location.
>>which cc
/opt/cray/pe/craype/2.5.14/bin/cc
>>which CC
/opt/cray/pe/craype/2.5.14/bin/CC
And my path includes this directory!
>>echo $PATH
/opt/cray/rca/2.2.18-6.0.7.0_33.3__g2aa4f39.ari/bin:/opt/cray/alps/6.6.43-6.0.7.0_26.4__ga796da3.ari/sbin:/opt/cray/job/2.2.3-6.0.7.0_44.1__g6c4e934.ari/bin:/opt/cray/pe/hdf5/1.10.0.3/bin:/opt/cray/pe/craype/2.5.14/bin:/opt/intel/compilers_and_libraries_2018.1.163/linux/bin/intel64:/usr/common/software/metis/5.1.0/bin:/usr/common/software/darshan/3.1.4/bin:/usr/common/software/altd/2.0/bin:/usr/common/software/bin:/usr/common/mss/bin:/usr/common/nsg/bin:/opt/cray/pe/mpt/7.7.0/gni/bin:/opt/ovis/bin:/opt/ovis/sbin:/usr/syscom/nsg/sbin:/usr/syscom/nsg/bin:/opt/cray/pe/modules/3.2.10.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/opt/cray/pe/bin:
The cmake file sees the same path as the terminal. I have confirmed that this error goes away if I change my cmake code to:
set(CMAKE_C_COMPILER /opt/cray/pe/craype/2.5.14/bin/cc)
set(CMAKE_CXX_COMPILER /opt/cray/pe/craype/2.5.14/bin/CC)
But this is not a long term fix as the actual location of cc/CC depends on which modules I am using and the updated version of the compilers.
Does anyone know what is going on, and how to force cmake to recognize that these compilers are located in the correct location? Thanks.
Go to download page of glfw and download their source package. Now unzip it and enter into the directory.
Now generate the make file with sudo cmake -G "Unix Makefiles".
Now do sudo make and sudo cmake. The install process should be complete.
For more info take a look at here

Unknown CMake command "CHECK_INCLUDE_FILE_CXX"

I tried running cmake to generate the build tools for linux on vmime with the latest source from git hub, it generated the following errors. Thoughts??
vmime$ /usr/local/bin/cmake -G "Unix Makefiles"
CMake Error at CMakeLists.txt:20 (INCLUDE):
include could not find load file:
CheckIncludeFileCxx
-- Build type: Debug
CMake Error at CMakeLists.txt:452 (CHECK_INCLUDE_FILE_CXX):
Unknown CMake command "CHECK_INCLUDE_FILE_CXX".
-- Configuring incomplete, errors occurred!
In your CMakeLists.txt at line 20, you have
include(CheckIncludeFileCxx)
This should be
include(CheckIncludeFileCXX)
^^--- Uppercase
Once CheckIncludeFileCXX is properly included, the error on line 452 should also disappear, since the file defines the function CHECK_INCLUDE_FILE_CXX.
It has probably only been tested on Windows; since Windows filenames are case-insensitive this would have worked.